package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-06.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum06 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {1,0,-62,8,116,17,-3,25,127,34,-116,42,68,50,-104,57,-84,64,17,71,-18,76,69,82,28,87,61,91,-82,94,127,97,-49,99,74,101,41,102,102,102,28,102,41,101,-96,99,-104,97,37,95,47,92,-47,88,39,85,43,81,-6,76,-119,72,5,68,96,63,-68,58,24,54,-119,49,14,45,-66,40,-91,36,-61,32,11,29,-74,25,-96,22,-29,19,86,17,57,15,106,13,-19,11,-104,10,-83,9,11,9,-101,8,69,8,58,8,87,8,-107,8,-79,8,10,9,94,9,-90,9,-78,9,-55,9,-66,9,-124,9,-25,8,63,8,82,7,-7,5,124,4,-69,2,-83,0,34,-2,-125,-5,-114,-8,93,-11,-60,-15,19,-18,55,-22,37,-26,-40,-31,-114,-35,52,-39,-43,-44,98,-48,22,-52,-22,-57,-34,-61,-10,-65,89,-68,-1,-72,-7,-75,55,-77,-20,-80,-8,-82,121,-83,104,-84,-56,-85,-89,-85,-9,-85,-54,-84,16,-82,-61,-81,-18,-79,-110,-76,-111,-73,-22,-70,-95,-66,-68,-62,9,-57,-111,-53,72,-48,74,-43,72,-38,87,-33,106,-28,-96,-23,-97,-18,-120,-13,69,-8,11,-3,102,1,-114,5,108,9,49,13,125,16,115,19,31,22,-106,24,-100,26,64,28,-58,29,-46,30,-113,31,12,32,113,32,114,32,72,32,-19,31,-100,31,9,31,102,30,-64,29,54,29,-103,28,11,28,-104,27,97,27,48,27,55,27,98,27,-29,27,121,28,88,29,105,30,-63,31,74,33,2,35,-4,36,18,39,99,41,-57,43,82,46,-31,48,-123,51,44,54,-55,56,68,59,-77,61,-5,63,21,66,-41,67,117,69,-67,70,-72,71,47,72,100,72,46,72,-119,71,70,70,-68,68,-85,66,41,64,6,61,-114,57,-84,53,83,49,100,44,69,39,-64,33,-18,27,-88,21,72,15,-65,8,-41,1,9,-5,34,-12,69,-19,59,-26,126,-33,-30,-40,107,-46,37,-52,45,-58,-94,-64,96,-69,118,-74,6,-78,33,-82,-97,-86,-103,-89,36,-91,54,-93,-47,-95,-27,-96,-119,-96,-70,-96,98,-95,-128,-94,36,-92,42,-90,-91,-88,121,-85,-91,-82,36,-78,-32,-75,-28,-71,15,-66,96,-62,-55,-58,92,-53,-36,-49,99,-44,-37,-40,86,-35,-92,-31,-56,-27,-52,-23,-75,-19,90,-15,-67,-12,-18,-9,4,-5,-70,-3,56,0,115,2,-96,4,109,6,6,8,107,9,-45,10,-33,11,-43,12,-92,13,-118,14,51,15,-49,15,-109,16,35,17,-55,17,100,18,73,19,13,20,-21,20,-24,21,27,23,84,24,-94,25,22,27,-59,28,118,30,63,32,40,34,57,36,71,38,104,40,-117,42,-54,44,-16,46,22,49,38,51,54,53,22,55,-34,56,-126,58,-20,59,51,61,54,62,3,63,-120,63,-57,63,-57,63,120,63,-49,62,-29,61,-82,60,41,59,66,57,38,55,-64,52,28,50,17,47,-13,43,-111,40,10,37,46,33,85,29,93,25,78,21,13,17,-24,12,-59,8,-89,4,114,0,116,-4,-99,-8,-39,-12,33,-15,-76,-19,125,-22,82,-25,-120,-28,-12,-31,-94,-33,99,-35,-116,-37,-12,-39,-109,-40,81,-41,107,-42,-74,-43,62,-43,-52,-44,-78,-44,-77,-44,-34,-44,13,-43,107,-43,-33,-43,94,-42,-37,-42,103,-41,-7,-41,127,-40,-2,-40,111,-39,-38,-39,41,-38,114,-38,-105,-38,-79,-38,-83,-38,-99,-38,116,-38,49,-38,-33,-39,-116,-39,32,-39,-89,-40,48,-40,-58,-41,85,-41,-30,-42,-120,-42,83,-42,37,-42,13,-42,29,-42,113,-42,-44,-42,102,-41,46,-40,78,-39,-117,-38,-1,-37,-74,-35,-46,-33,10,-30,126,-28,56,-25,82,-22,-125,-19,-16,-16,-78,-12,-121,-8,-126,-4,-87,0,20,5,118,9,-20,13,115,18,30,23,-87,27,44,32,-100,36,22,41,78,45,103,49,76,53,24,57,-112,60,-53,63,-69,66,120,69,-52,71,-42,73,-123,75,-25,76,-29,77,-122,78,-49,78,-72,78,80,78,-126,77,107,76,-16,74,49,73,37,71,-48,68,46,66,88,63,77,60,18,57,-114,53,5,50,81,46,-116,42,-109,38,-88,34,-71,30,-57,26,-75,22,-46,18,-11,14,49,11,93,7,-63,3,76,0,-18,-4,-113,-7,123,-10,-118,-13,-65,-16,-8,-19,122,-21,35,-23,-46,-26,-60,-28,-30,-30,32,-31,90,-33,-36,-35,120,-36,50,-37,-25,-39,-44,-40,-41,-41,-17,-42,-4,-43,60,-43,-123,-44,-29,-45,48,-45,-86,-46,37,-46,-74,-47,56,-47,-31,-48,-118,-48,69,-48,2,-48,-39,-49,-74,-49,-83,-49,-86,-49,-63,-49,-22,-49,36,-48,-126,-48,-19,-48,113,-47,20,-46,-38,-46,-70,-45,-83,-44,-58,-43,17,-41,102,-40,-32,-39,115,-37,71,-35,27,-33,16,-31,31,-29,109,-27,-79,-25,20,-22,-122,-20,52,-17,-51,-15,118,-12,45,-9,15,-6,-44,-4,-100,-1,97,2,79,5,7,8,-62,10,-117,13,38,16,-82,18,33,21}; }
	private static byte[] data1(){ return new byte[] {-98,23,-26,25,7,28,27,30,33,32,-16,33,-97,35,37,37,-82,38,-18,39,21,41,21,42,9,43,-59,43,97,44,-35,44,71,45,-119,45,-89,45,-75,45,-92,45,125,45,59,45,-26,44,125,44,3,44,116,43,-35,42,43,42,119,41,-75,40,-23,39,9,39,36,38,68,37,77,36,69,35,68,34,59,33,44,32,-7,30,-42,29,-84,28,119,27,27,26,-51,24,121,23,22,22,-125,20,8,19,122,17,-33,15,19,14,87,12,-113,10,-74,8,-92,6,-79,4,-95,2,109,0,65,-2,19,-4,-51,-7,103,-9,12,-11,-76,-14,78,-16,-58,-19,94,-21,-17,-24,-122,-26,7,-28,-93,-31,83,-33,-2,-36,-77,-38,-126,-40,107,-42,101,-44,108,-46,-101,-48,-23,-50,86,-51,-37,-53,-112,-54,106,-55,104,-56,-104,-57,-22,-58,110,-58,33,-58,4,-58,22,-58,85,-58,-63,-58,114,-57,65,-56,67,-55,111,-54,-25,-53,108,-51,44,-49,11,-47,51,-45,106,-43,-60,-41,68,-38,2,-35,-62,-33,-97,-30,-107,-27,-59,-24,-26,-21,28,-17,93,-14,-51,-11,37,-7,127,-4,-35,-1,93,3,-76,6,6,10,110,13,-91,16,-49,19,-29,22,3,26,-25,28,-79,31,93,34,6,37,111,39,-78,41,-44,43,-36,45,-81,47,72,49,-60,50,26,52,53,53,32,54,-37,54,120,55,-43,55,3,56,8,56,-32,55,-119,55,5,55,88,54,-127,53,-124,52,94,51,27,50,-87,48,36,47,125,45,-67,43,-38,41,-23,39,-24,37,-42,35,-99,33,116,31,54,29,-5,26,-99,24,83,22,12,20,-58,17,98,15,38,13,-22,10,-69,8,115,6,89,4,66,2,67,0,38,-2,63,-4,99,-6,-106,-8,-76,-10,8,-11,100,-13,-78,-15,48,-16,-76,-18,81,-19,-47,-21,-124,-22,63,-23,6,-24,-68,-26,-101,-27,127,-28,111,-29,81,-30,82,-31,95,-32,113,-33,122,-34,-95,-35,-50,-36,7,-36,59,-37,-119,-38,-30,-39,69,-39,-79,-40,48,-40,-64,-41,96,-41,16,-41,-44,-42,-83,-42,-103,-42,-92,-42,-65,-42,-12,-42,64,-41,-73,-41,59,-40,-39,-40,-100,-39,-126,-38,-127,-37,-110,-36,-57,-35,49,-33,-102,-32,41,-30,-56,-29,-90,-27,124,-25,108,-23,111,-21,-90,-19,-46,-17,9,-14,85,-12,-62,-10,36,-7,-128,-5,-21,-3,109,0,-40,2,51,5,-74,7,-1,9,77,12,-125,14,-53,16,-26,18,-26,20,-38,22,-52,24,-113,26,52,28,-55,29,76,31,-82,32,-28,33,14,35,34,36,18,37,-29,37,-101,38,71,39,-48,39,57,40,-101,40,-35,40,16,41,45,41,53,41,48,41,24,41,-15,40,-63,40,117,40,42,40,-53,39,106,39,-25,38,109,38,-33,37,77,37,-103,36,-23,35,46,35,100,34,114,33,-116,32,-113,31,-127,30,76,29,16,28,-51,26,103,25,-42,23,67,22,-100,20,-41,18,-36,16,-26,14,-46,12,-86,10,67,8,-25,5,114,3,-56,0,40,-2,118,-5,-76,-8,-61,-11,-21,-14,3,-16,29,-19,22,-22,47,-25,76,-28,116,-31,-108,-34,-37,-37,59,-39,-78,-42,59,-44,-13,-47,-42,-49,-31,-51,12,-52,123,-54,21,-55,-17,-57,-12,-58,67,-58,-59,-59,-112,-59,-111,-59,-41,-59,90,-58,28,-57,34,-56,93,-55,-42,-54,-127,-52,116,-50,-118,-48,-52,-46,65,-43,-28,-41,-95,-38,122,-35,103,-32,-117,-29,-103,-26,-62,-23,-30,-20,44,-16,73,-13,109,-10,121,-7,-106,-4,-126,-1,83,2,9,5,-61,7,53,10,-113,12,-73,14,-29,16,-65,18,125,20,38,22,-109,23,-49,24,-14,25,-4,26,-41,27,-128,28,27,29,-91,29,5,30,72,30,118,30,-79,30,-73,30,-57,30,-75,30,-58,30,-83,30,-94,30,-116,30,-116,30,126,30,124,30,119,30,-120,30,-111,30,-86,30,-62,30,-27,30,13,31,50,31,101,31,-121,31,-76,31,-35,31,-4,31,11,32,22,32,24,32,3,32,-45,31,-109,31,67,31,-43,30,53,30,-117,29,-60,28,-42,27,-79,26,126,25,43,24,-81,22,-5,20,53,19,89,17,87,15,24,13,-32,10,-120,8,29,6,-124,3,-17,0,88,-2,-106,-5,-20,-8,69,-10,-98,-13,-26,-16,82,-18,-43,-21,95,-23,-7,-26,-75,-28,-96,-30,-96,-32,-74,-34,7,-35,-127,-37,36,-38,-25,-40,-32,-41,19,-41,100,-42,-24,-43,-107,-43,125,-43,-126,-43,-76,-43,14,-42,-115,-42,49,-41,-17,-41,-47,-40,-61,-39,-43,-38,-10,-37,41,-35,99,-34,-87,-33,0,-31,77,-30,-95,-29,-24,-28,74,-26,-122,-25,-54,-24,-11,-23,60,-21,84,-20,108,-19,115,-18,-118,-17,127,-16,106,-15,80,-14,69,-13,34,-12,-10,-12,-50,-11,-62,-10,-97,-9,-128,-8,110,-7,-127,-6,-124,-5,-101,-4,-39,-3,21,-1,95,0,-58,1,87,3,-21,4,-109,6,82,8,69,10,46,12,52,14,69,16}; }
	private static byte[] data2(){ return new byte[] {-128,18,-76,20,-16,22,59,25,-110,27,-33,29,41,32,102,34,-86,36,-55,38,-37,40,-50,42,-86,44,94,46,-23,47,74,49,123,50,120,51,67,52,-51,52,32,53,48,53,8,53,-97,52,-28,51,-3,50,-54,49,96,48,-92,46,-64,44,-102,42,75,40,-90,37,-11,34,15,32,9,29,-54,25,-124,22,47,19,-63,15,56,12,-68,8,72,5,-43,1,88,-2,3,-5,-53,-9,-87,-12,-113,-15,-77,-18,2,-20,95,-23,6,-25,-34,-28,-21,-30,13,-31,-123,-33,39,-34,13,-35,2,-36,75,-37,-63,-38,103,-38,40,-38,40,-38,75,-38,-104,-38,-14,-38,122,-37,28,-36,-48,-36,-114,-35,100,-34,65,-33,41,-32,6,-31,-12,-31,-46,-30,-78,-29,-121,-28,78,-27,18,-26,-66,-26,105,-25,-6,-25,-125,-24,-12,-24,109,-23,-56,-23,23,-22,100,-22,-83,-22,-17,-22,36,-21,97,-21,-85,-21,-13,-21,57,-20,-111,-20,14,-19,-127,-19,14,-18,-84,-18,126,-17,83,-16,64,-15,78,-14,-109,-13,-36,-12,69,-10,-51,-9,-115,-7,80,-5,47,-3,65,-1,79,1,120,3,-88,5,13,8,90,10,-78,12,17,15,127,17,-40,19,38,22,100,24,-85,26,-64,28,-60,30,-92,32,120,34,17,36,-116,37,-42,38,-2,39,-13,40,-81,41,67,42,-89,42,-51,42,-48,42,-112,42,48,42,-107,41,-45,40,-25,39,-53,38,-111,37,52,36,-73,34,26,33,104,31,-83,29,-40,27,-15,25,10,24,38,22,60,20,73,18,104,16,-106,14,-48,12,-2,10,92,9,-62,7,71,6,-63,4,111,3,44,2,12,1,-42,-1,-29,-2,-16,-3,31,-3,60,-4,-122,-5,-40,-6,33,-6,-124,-7,-14,-8,95,-8,-74,-9,32,-9,-120,-10,-26,-11,35,-11,112,-12,-88,-13,-39,-14,-34,-15,-17,-16,-28,-17,-44,-18,-107,-19,100,-20,21,-21,-58,-23,84,-24,-22,-26,119,-27,-5,-29,-128,-30,5,-31,-110,-33,42,-34,-54,-36,127,-37,72,-38,41,-39,42,-40,77,-41,-117,-42,-9,-43,-105,-43,86,-43,79,-43,111,-43,-38,-43,103,-42,46,-41,42,-40,113,-39,-39,-38,123,-36,77,-34,104,-32,-97,-30,-3,-28,-117,-25,81,-22,38,-19,20,-16,27,-13,83,-10,120,-7,-78,-4,-27,-1,55,3,103,6,-118,9,-72,12,-75,15,-105,18,93,21,21,24,-113,26,-35,28,1,31,7,33,-54,34,83,36,-86,37,-29,38,-58,39,-122,40,-3,40,96,41,118,41,99,41,31,41,-70,40,36,40,102,39,-120,38,-110,37,122,36,77,35,13,34,-66,32,96,31,3,30,-106,28,45,27,-57,25,100,24,13,23,-80,21,111,20,52,19,15,18,-29,16,-36,15,-34,14,-9,13,3,13,61,12,117,11,-59,10,2,10,96,9,-60,8,43,8,124,7,-26,6,74,6,-82,5,-20,4,63,4,-125,3,-71,2,-51,1,-29,0,-20,-1,-54,-2,-83,-3,126,-4,60,-5,-50,-7,110,-8,-12,-10,114,-11,-56,-13,47,-14,-122,-16,-35,-18,24,-19,107,-21,-69,-23,19,-24,103,-26,-46,-28,80,-29,-34,-31,121,-32,59,-33,18,-34,13,-35,35,-36,96,-37,-56,-38,81,-38,5,-38,-26,-39,-21,-39,36,-38,-126,-38,17,-37,-67,-37,-99,-36,-91,-35,-51,-34,25,-32,-128,-31,25,-29,-69,-28,121,-26,71,-24,58,-22,44,-20,36,-18,39,-16,63,-14,67,-12,71,-10,64,-8,73,-6,49,-4,4,-2,-48,-1,-108,1,59,3,-68,4,52,6,-96,7,-27,8,11,10,53,11,42,12,13,13,-41,13,-95,14,70,15,-45,15,86,16,-40,16,67,17,-105,17,-10,17,73,18,-99,18,-34,18,46,19,-127,19,-46,19,35,20,126,20,-26,20,78,21,-65,21,51,22,-68,22,63,23,-51,23,102,24,-11,24,-105,25,45,26,-52,26,92,27,-15,27,120,28,-6,28,99,29,-60,29,22,30,81,30,103,30,111,30,93,30,42,30,-55,29,82,29,-68,28,-3,27,9,27,1,26,-46,24,125,23,-17,21,81,20,-113,18,-79,16,-111,14,123,12,56,10,-17,7,108,5,-7,2,115,0,-49,-3,56,-5,-90,-8,14,-10,109,-13,-24,-16,114,-18,15,-20,-84,-23,121,-25,94,-27,103,-29,-127,-31,-50,-33,72,-34,-29,-36,-89,-37,-102,-38,-62,-39,18,-39,-118,-40,59,-40,19,-40,29,-40,74,-40,-87,-40,44,-39,-40,-39,-92,-38,-107,-37,-93,-36,-52,-35,17,-33,109,-32,-45,-31,81,-29,-31,-28,110,-26,14,-24,-96,-23,83,-21,-21,-20,-122,-18,28,-16,-75,-15,62,-13,-74,-12,38,-10,-99,-9,-16,-8,61,-6,117,-5,-67,-4,-39,-3,-11,-2,-11,-1,17,1,0,2,-20,2,-48,3,-65,4,-104,5,104,6,79,7,25,8,-25,8,-76,9,-110,10,106,11,50,12,17,13,-11,13,-40,14,-77,15,-100,16,-114,17,124,18,99,19,82,20,71,21,52,22,23,23,-4,23}; }
	private static byte[] data3(){ return new byte[] {-35,24,-77,25,123,26,56,27,-17,27,-117,28,30,29,-104,29,0,30,79,30,-119,30,-89,30,-86,30,-110,30,94,30,18,30,-103,29,18,29,105,28,-90,27,-72,26,-65,25,-94,24,122,23,28,22,-62,20,77,19,-55,17,32,16,125,14,-52,12,18,11,65,9,117,7,-76,5,-25,3,16,2,78,0,-106,-2,-26,-4,44,-5,-107,-7,10,-8,125,-10,24,-11,-64,-13,-123,-14,60,-15,44,-16,38,-17,56,-18,80,-19,-117,-20,-37,-21,69,-21,-88,-22,53,-22,-47,-23,122,-23,44,-23,-14,-24,-57,-24,-87,-24,-120,-24,126,-24,117,-24,121,-24,121,-24,-122,-24,-111,-24,-91,-24,-72,-24,-49,-24,-28,-24,-2,-24,28,-23,57,-23,86,-23,119,-23,-94,-23,-55,-23,-9,-23,36,-22,109,-22,-89,-22,-15,-22,68,-21,-83,-21,27,-20,-116,-20,20,-19,-72,-19,95,-18,21,-17,-36,-17,-52,-16,-73,-15,-67,-14,-50,-13,15,-11,72,-10,-105,-9,-6,-8,126,-6,5,-4,-110,-3,74,-1,-12,0,-85,2,108,4,65,6,16,8,-39,9,-87,11,-125,13,73,15,7,17,-65,18,114,20,17,22,-106,23,18,25,124,26,-56,27,-7,28,17,30,19,31,-14,31,-81,32,78,33,-45,33,44,34,108,34,-124,34,127,34,85,34,14,34,-92,33,25,33,116,32,-81,31,-44,30,-45,29,-61,28,-99,27,98,26,7,25,-85,23,59,22,-63,20,48,19,-99,17,12,16,112,14,-62,12,34,11,-120,9,-27,7,64,6,-90,4,26,3,-108,1,-2,-1,-116,-2,28,-3,-66,-5,81,-6,8,-7,-59,-9,-123,-10,86,-11,67,-12,48,-13,29,-14,40,-15,59,-16,97,-17,120,-18,-73,-19,-13,-20,73,-20,-117,-21,-10,-22,95,-22,-42,-23,79,-23,-41,-24,111,-24,13,-24,-83,-25,99,-25,30,-25,-22,-26,-75,-26,-105,-26,126,-26,118,-26,118,-26,-121,-26,-96,-26,-54,-26,4,-25,73,-25,-100,-25,-5,-25,120,-24,-15,-24,-124,-23,31,-22,-41,-22,-109,-21,93,-20,52,-19,44,-18,30,-17,33,-16,47,-15,89,-14,-127,-13,-84,-12,-24,-11,59,-9,-124,-8,-47,-7,39,-5,-113,-4,-19,-3,70,-1,-93,0,19,2,105,3,-63,4,35,6,109,7,-76,8,-19,9,50,11,93,12,118,13,-115,14,-97,15,-102,16,-126,17,97,18,57,19,-5,19,-90,20,73,21,-29,21,98,22,-44,22,52,23,-114,23,-49,23,4,24,39,24,67,24,76,24,67,24,54,24,19,24,-21,23,-80,23,116,23,26,23,-54,22,99,22,-8,21,125,21,-4,20,117,20,-24,19,63,19,-90,18,-8,17,77,17,-123,16,-56,15,2,15,56,14,80,13,122,12,-105,11,-79,10,-79,9,-67,8,-61,7,-58,6,-87,5,-91,4,-114,3,-127,2,79,1,54,0,21,-1,-33,-3,-72,-4,-108,-5,102,-6,48,-7,3,-8,-36,-10,-75,-11,-127,-12,96,-13,65,-14,45,-15,9,-16,4,-17,-6,-19,7,-19,5,-20,37,-21,72,-22,122,-23,-75,-24,-2,-25,99,-25,-59,-26,74,-26,-50,-27,117,-27,37,-27,-23,-28,-60,-28,-83,-28,-80,-28,-60,-28,-17,-28,41,-27,123,-27,-26,-27,95,-26,-22,-26,-116,-25,70,-24,13,-23,-28,-23,-54,-22,-44,-21,-41,-20,-10,-19,20,-17,95,-16,-105,-15,-24,-14,56,-12,-84,-11,14,-9,127,-8,-17,-7,121,-5,-12,-4,113,-2,-21,-1,-127,1,-13,2,117,4,-14,5,105,7,-53,8,48,10,-105,11,-28,12,43,14,94,15,-99,16,-77,17,-55,18,-63,19,-60,20,-101,21,108,22,37,23,-38,23,110,24,-16,24,97,25,-62,25,12,26,63,26,97,26,114,26,108,26,83,26,40,26,-22,25,-101,25,57,25,-55,24,67,24,-77,23,16,23,102,22,-94,21,-37,20,9,20,43,19,57,18,74,17,82,16,81,15,68,14,50,13,41,12,19,11,-15,9,-42,8,-62,7,-92,6,125,5,101,4,75,3,58,2,19,1,6,0,-9,-2,-12,-3,-39,-4,-35,-5,-29,-6,-38,-7,-19,-8,3,-8,28,-9,50,-10,86,-11,-120,-12,-70,-13,-23,-14,42,-14,116,-15,-60,-16,16,-16,109,-17,-42,-18,65,-18,-82,-19,46,-19,-77,-20,66,-20,-43,-21,115,-21,34,-21,-45,-22,-112,-22,90,-22,44,-22,16,-22,-13,-23,-13,-23,-18,-23,2,-22,33,-22,73,-22,-127,-22,-59,-22,25,-21,-127,-21,-29,-21,106,-20,-16,-20,-112,-19,45,-18,-32,-18,-85,-17,113,-16,76,-15,39,-14,40,-13,27,-12,27,-11,39,-10,67,-9,96,-8,123,-7,-94,-6,-41,-5,6,-3,49,-2,97,-1,-95,0,-48,1,-5,2,55,4,92,5,122,6,-102,7,-70,8,-56,9,-52,10,-58,11,-55,12,-85,13,-116,14,86,15,46,16,-34,16,-111,17,43,18,-56,18,77,19,-60,19,47,20,-108,20,-29,20,41,21,95,21,-113,21,-83,21,-61,21,-55,21}; }
	private static byte[] data4(){ return new byte[] {-58,21,-70,21,-99,21,-127,21,76,21,22,21,-40,20,-117,20,53,20,-39,19,114,19,7,19,-121,18,7,18,-126,17,-17,16,78,16,-88,15,1,15,76,14,-124,13,-68,12,-13,11,20,11,45,10,63,9,78,8,88,7,61,6,59,5,32,4,11,3,-41,1,-80,0,-127,-1,61,-2,8,-3,-54,-5,-112,-6,60,-7,1,-8,-68,-10,-124,-11,54,-12,2,-13,-48,-15,-89,-16,119,-17,97,-18,81,-19,84,-20,83,-21,116,-22,-99,-23,-37,-24,41,-24,-122,-25,6,-25,-112,-26,51,-26,-17,-27,-65,-27,-83,-27,-84,-27,-54,-27,-6,-27,68,-26,-86,-26,35,-25,-80,-25,88,-24,19,-23,-28,-23,-61,-22,-78,-21,-65,-20,-51,-19,-22,-18,22,-16,80,-15,-112,-14,-48,-13,23,-11,116,-10,-67,-9,16,-7,88,-6,-75,-5,-5,-4,60,-2,122,-1,-70,0,-26,1,10,3,30,4,61,5,62,6,48,7,45,8,4,9,-41,9,-105,10,95,11,5,12,-90,12,53,13,-53,13,70,14,-74,14,33,15,-122,15,-32,15,44,16,114,16,-66,16,-12,16,41,17,87,17,-121,17,-82,17,-53,17,-21,17,5,18,25,18,45,18,52,18,67,18,65,18,69,18,58,18,46,18,26,18,3,18,-32,17,-76,17,-128,17,73,17,2,17,-82,16,83,16,-19,15,-128,15,-12,14,107,14,-39,13,46,13,121,12,-75,11,-18,10,22,10,37,9,54,8,59,7,58,6,23,5,8,4,-30,2,-60,1,-124,0,91,-1,40,-2,-29,-4,-71,-5,123,-6,91,-7,22,-8,-5,-10,-38,-11,-60,-12,-79,-13,-86,-14,-66,-15,-44,-16,-15,-17,42,-17,112,-18,-54,-19,40,-19,-89,-20,48,-20,-46,-21,126,-21,63,-21,24,-21,-3,-22,-13,-22,-2,-22,21,-21,64,-21,118,-21,-67,-21,14,-20,107,-20,-37,-20,72,-19,-51,-19,71,-18,-30,-18,107,-17,10,-16,-98,-16,74,-15,-23,-15,-112,-14,51,-13,-24,-13,-117,-12,58,-11,-35,-11,-105,-10,61,-9,-26,-9,-110,-8,72,-7,-12,-7,-100,-6,77,-5,4,-4,-69,-4,103,-3,31,-2,-27,-2,-95,-1,96,0,49,1,-6,1,-62,2,-105,3,115,4,83,5,40,6,15,7,-6,7,-27,8,-52,9,-72,10,-84,11,-103,12,-125,13,106,14,90,15,51,16,22,17,-30,17,-75,18,117,19,39,20,-44,20,109,21,-6,21,113,22,-36,22,47,23,114,23,-99,23,-76,23,-80,23,-101,23,108,23,40,23,-61,22,82,22,-62,21,38,21,95,20,-105,19,-80,18,-66,17,-85,16,-110,15,107,14,50,13,-22,11,-107,10,74,9,-29,7,125,6,19,5,-77,3,72,2,-34,0,121,-1,40,-2,-47,-4,-125,-5,61,-6,23,-7,-36,-9,-52,-10,-56,-11,-52,-12,-31,-13,7,-13,71,-14,-104,-15,-24,-16,96,-16,-32,-17,120,-17,16,-17,-55,-18,-117,-18,95,-18,59,-18,36,-18,34,-18,37,-18,44,-18,73,-18,97,-18,-112,-18,-78,-18,-22,-18,28,-17,88,-17,-108,-17,-43,-17,20,-16,90,-16,-98,-16,-25,-16,42,-15,115,-15,-62,-15,11,-14,87,-14,-91,-14,-4,-14,80,-13,-89,-13,-1,-13,107,-12,-51,-12,58,-11,-90,-11,47,-10,-86,-10,51,-9,-60,-9,102,-8,13,-7,-76,-7,108,-6,54,-5,-1,-5,-48,-4,-89,-3,-99,-2,-127,-1,118,0,122,1,118,2,123,3,123,4,-107,5,-105,6,-91,7,-91,8,-69,9,-77,10,-77,11,-98,12,-105,13,115,14,72,15,17,16,-48,16,-128,17,20,18,-88,18,30,19,-116,19,-33,19,28,20,88,20,101,20,125,20,99,20,79,20,26,20,-40,19,-122,19,29,19,-85,18,40,18,-103,17,-10,16,79,16,-98,15,-29,14,25,14,82,13,-126,12,-78,11,-42,10,-6,9,45,9,78,8,116,7,-97,6,-48,5,4,5,50,4,105,3,-78,2,-14,1,54,1,-127,0,-33,-1,50,-1,-117,-2,-20,-3,87,-3,-77,-4,40,-4,-109,-5,15,-5,118,-6,-18,-7,104,-7,-31,-8,76,-8,-53,-9,62,-9,-70,-10,34,-10,-99,-11,13,-11,-124,-12,-17,-13,96,-13,-42,-14,72,-14,-73,-15,48,-15,-87,-16,37,-16,-90,-17,44,-17,-69,-18,81,-18,-18,-19,-105,-19,74,-19,11,-19,-42,-20,-75,-20,-101,-20,-105,-20,-92,-20,-61,-20,-21,-20,53,-19,-124,-19,-10,-19,102,-18,-7,-18,-95,-17,82,-16,28,-15,-21,-15,-26,-14,-41,-13,-31,-12,-12,-11,33,-9,77,-8,-125,-7,-65,-6,18,-4,89,-3,-90,-2,-14,-1,77,1,-106,2,-32,3,41,5,104,6,-108,7,-66,8,-28,9,-14,10,-13,11,-32,12,-49,13,-100,14,89,15,7,16,-90,16,46,17,-98,17,1,18,84,18,-113,18,-71,18,-50,18,-37,18,-44,18,-74,18,-107,18,96,18,30,18,-41,17,122,17,34,17,-77,16,75,16,-48,15,89,15,-41,14,87,14,-46,13}; }
	private static byte[] data5(){ return new byte[] {73,13,-65,12,58,12,-79,11,32,11,-99,10,17,10,-110,9,-5,8,127,8,-11,7,118,7,-26,6,99,6,-34,5,92,5,-58,4,66,4,-74,3,43,3,-115,2,-5,1,102,1,-55,0,36,0,122,-1,-38,-2,28,-2,116,-3,-69,-4,8,-4,65,-5,-126,-6,-57,-7,-1,-8,56,-8,114,-9,-78,-10,-17,-11,41,-11,108,-12,-72,-13,3,-13,85,-14,-82,-15,22,-15,-125,-16,-9,-17,127,-17,14,-17,-81,-18,88,-18,21,-18,-34,-19,-67,-19,-89,-19,-95,-19,-77,-19,-55,-19,2,-18,60,-18,-115,-18,-18,-18,92,-17,-32,-17,104,-16,1,-15,-81,-15,92,-14,29,-13,-39,-13,-70,-12,-127,-11,103,-10,58,-9,49,-8,12,-7,-4,-7,-40,-6,-49,-5,-79,-4,-113,-3,112,-2,80,-1,39,0,-15,0,-70,1,-123,2,63,3,-17,3,-90,4,70,5,-30,5,115,6,9,7,-115,7,8,8,126,8,-9,8,94,9,-60,9,29,10,-125,10,-44,10,37,11,116,11,-65,11,10,12,75,12,-117,12,-45,12,9,13,72,13,126,13,-73,13,-23,13,27,14,70,14,115,14,-106,14,-69,14,-43,14,-18,14,-6,14,11,15,9,15,5,15,-14,14,-30,14,-68,14,-113,14,87,14,19,14,-53,13,99,13,0,13,-116,12,10,12,116,11,-41,10,50,10,124,9,-78,8,-28,7,15,7,44,6,52,5,66,4,66,3,68,2,43,1,33,0,14,-1,-15,-3,-35,-4,-51,-5,-72,-6,-90,-7,-107,-8,-99,-9,-104,-10,-94,-11,-73,-12,-41,-13,10,-13,55,-14,-125,-15,-38,-16,62,-16,-78,-17,52,-17,-47,-18,116,-18,46,-18,-13,-19,-42,-19,-69,-19,-67,-19,-59,-19,-26,-19,16,-18,76,-18,-107,-18,-23,-18,78,-17,-69,-17,53,-16,-74,-16,63,-15,-41,-15,112,-14,12,-13,-76,-13,94,-12,12,-11,-71,-11,104,-10,33,-9,-44,-9,-127,-8,55,-7,-22,-7,-96,-6,68,-5,-10,-5,-92,-4,77,-3,-15,-3,-111,-2,62,-1,-39,-1,117,0,14,1,-82,1,71,2,-43,2,119,3,2,4,-106,4,29,5,-70,5,65,6,-53,6,84,7,-28,7,106,8,-17,8,110,9,-7,9,113,10,-14,10,100,11,-32,11,79,12,-72,12,30,13,-126,13,-38,13,44,14,120,14,-70,14,-10,14,35,15,78,15,102,15,123,15,127,15,123,15,106,15,72,15,40,15,-23,14,-82,14,86,14,4,14,-100,13,38,13,-87,12,34,12,-112,11,-17,10,73,10,-99,9,-23,8,34,8,100,7,-104,6,-46,5,-13,4,38,4,77,3,126,2,-103,1,-54,0,-13,-1,38,-1,77,-2,-122,-3,-63,-4,-10,-5,65,-5,-120,-6,-25,-7,43,-7,-101,-8,-3,-9,119,-9,-27,-10,105,-10,-8,-11,-118,-11,34,-11,-58,-12,113,-12,43,-12,-35,-13,-90,-13,111,-13,67,-13,23,-13,-7,-14,-35,-14,-54,-14,-70,-14,-81,-14,-81,-14,-84,-14,-73,-14,-67,-14,-45,-14,-32,-14,1,-13,27,-13,63,-13,101,-13,-108,-13,-59,-13,-6,-13,53,-12,122,-12,-64,-12,10,-11,91,-11,-70,-11,23,-10,122,-10,-28,-10,94,-9,-43,-9,85,-8,-40,-8,109,-7,4,-6,-104,-6,60,-5,-21,-5,-106,-4,73,-3,0,-2,-60,-2,-119,-1,71,0,30,1,-28,1,-80,2,127,3,83,4,34,5,-21,5,-73,6,-125,7,76,8,1,9,-60,9,117,10,39,11,-57,11,100,12,-5,12,-127,13,1,14,112,14,-35,14,54,15,-127,15,-60,15,-7,15,29,16,57,16,65,16,63,16,47,16,17,16,-24,15,-82,15,106,15,27,15,-65,14,86,14,-29,13,107,13,-27,12,83,12,-65,11,33,11,-127,10,-48,9,32,9,114,8,-72,7,-6,6,59,6,126,5,-63,4,-8,3,56,3,123,2,-69,1,-9,0,62,0,-124,-1,-46,-2,21,-2,104,-3,-67,-4,15,-4,105,-5,-45,-6,52,-6,-101,-7,12,-7,-128,-8,2,-8,115,-9,2,-9,-119,-10,29,-10,-81,-11,72,-11,-14,-12,-104,-12,67,-12,-7,-13,-76,-13,121,-13,59,-13,15,-13,-31,-14,-61,-14,-95,-14,-114,-14,-127,-14,122,-14,125,-14,-124,-14,-108,-14,-83,-14,-50,-14,-8,-14,35,-13,95,-13,-99,-13,-24,-13,54,-12,-120,-12,-14,-12,80,-11,-60,-11,47,-10,-72,-10,50,-9,-66,-9,71,-8,-30,-8,124,-7,18,-6,-69,-6,95,-5,12,-4,-75,-4,95,-3,27,-2,-56,-2,121,-1,40,0,-27,0,-111,1,66,2,-12,2,-95,3,68,4,-23,4,-112,5,42,6,-64,6,82,7,-30,7,105,8,-26,8,94,9,-40,9,63,10,-91,10,-3,10,89,11,-92,11,-26,11,38,12,92,12,-120,12,-79,12,-57,12,-28,12,-19,12,-12,12,-12,12,-24,12,-40,12,-64,12,-94,12,122,12,77,12,26,12,-31,11,-98,11,89,11,11,11,-66,10,94,10,4,10,-93,9,61,9}; }
	private static byte[] data6(){ return new byte[] {-54,8,93,8,-26,7,113,7,-20,6,106,6,-21,5,95,5,-48,4,63,4,-76,3,30,3,-127,2,-21,1,81,1,-71,0,20,0,119,-1,-36,-2,54,-2,-105,-3,0,-3,95,-4,-63,-5,37,-5,-110,-6,-6,-7,101,-7,-47,-8,76,-8,-63,-9,58,-9,-69,-10,66,-10,-49,-11,91,-11,-10,-12,-109,-12,59,-12,-31,-13,-101,-13,81,-13,30,-13,-32,-14,-67,-14,-107,-14,-126,-14,109,-14,105,-14,107,-14,117,-14,-113,-14,-86,-14,-44,-14,3,-13,65,-13,-123,-13,-50,-13,38,-12,-124,-12,-20,-12,86,-11,-52,-11,78,-10,-47,-10,91,-9,-25,-9,-121,-8,32,-7,-65,-7,101,-6,18,-5,-64,-5,108,-4,29,-3,-39,-3,-115,-2,66,-1,-11,-1,-74,0,103,1,29,2,-43,2,-122,3,47,4,-38,4,-122,5,40,6,-61,6,90,7,-13,7,126,8,4,9,-128,9,1,10,109,10,-40,10,55,11,-109,11,-27,11,42,12,105,12,-92,12,-53,12,-10,12,10,13,34,13,40,13,41,13,30,13,14,13,-14,12,-49,12,-91,12,110,12,50,12,-12,11,-95,11,87,11,-12,10,-97,10,52,10,-55,9,86,9,-28,8,105,8,-25,7,100,7,-32,6,88,6,-60,5,57,5,-87,4,26,4,125,3,-20,2,86,2,-59,1,39,1,-108,0,2,0,111,-1,-41,-2,69,-2,-66,-3,36,-3,-98,-4,25,-4,-110,-5,14,-5,-114,-6,19,-6,-95,-7,34,-7,-73,-8,76,-8,-28,-9,127,-9,30,-9,-54,-10,117,-10,32,-10,-37,-11,-109,-11,90,-11,27,-11,-21,-12,-67,-12,-102,-12,115,-12,97,-12,71,-12,65,-12,57,-12,57,-12,69,-12,80,-12,108,-12,-121,-12,-82,-12,-41,-12,14,-11,73,-11,-121,-11,-47,-11,35,-10,119,-10,-43,-10,50,-9,-91,-9,15,-8,-125,-8,-6,-8,-127,-7,1,-6,-120,-6,17,-5,-88,-5,56,-4,-52,-4,97,-3,2,-2,-101,-2,53,-1,-51,-1,116,0,10,1,-88,1,66,2,-34,2,107,3,1,4,-108,4,31,5,-91,5,39,6,-85,6,37,7,-107,7,7,8,113,8,-42,8,48,9,-121,9,-39,9,35,10,101,10,-98,10,-38,10,2,11,44,11,77,11,100,11,123,11,-126,11,-118,11,-120,11,-128,11,115,11,91,11,68,11,28,11,-2,10,-54,10,-101,10,93,10,38,10,-34,9,-106,9,70,9,-11,8,-97,8,60,8,-36,7,120,7,12,7,-102,6,39,6,-81,5,57,5,-81,4,48,4,-83,3,31,3,-108,2,-2,1,116,1,-34,0,67,0,-84,-1,22,-1,115,-2,-35,-3,66,-3,-84,-4,9,-4,118,-5,-34,-6,77,-6,-76,-7,40,-7,-98,-8,25,-8,-109,-9,19,-9,-91,-10,43,-10,-58,-11,94,-11,6,-11,-77,-12,99,-12,35,-12,-22,-13,-71,-13,-110,-13,118,-13,97,-13,90,-13,92,-13,100,-13,127,-13,-105,-13,-56,-13,-9,-13,54,-12,120,-12,-52,-12,34,-11,-127,-11,-23,-11,88,-10,-49,-10,73,-9,-53,-9,84,-8,-30,-8,107,-7,2,-6,-103,-6,52,-5,-56,-5,100,-4,6,-3,-99,-3,59,-2,-50,-2,113,-1,3,0,-106,0,39,1,-71,1,69,2,-57,2,82,3,-48,3,68,4,-66,4,47,5,-99,5,1,6,98,6,-60,6,28,7,108,7,-70,7,8,8,76,8,-118,8,-59,8,-3,8,50,9,90,9,-121,9,-85,9,-52,9,-25,9,-1,9,19,10,35,10,43,10,52,10,51,10,52,10,41,10,32,10,12,10,-8,9,-36,9,-65,9,-107,9,109,9,61,9,8,9,-54,8,-118,8,68,8,-7,7,-92,7,75,7,-15,6,-114,6,32,6,-73,5,65,5,-49,4,73,4,-51,3,72,3,-62,2,48,2,-94,1,21,1,-127,0,-23,-1,82,-1,-62,-2,34,-2,-110,-3,-2,-4,111,-4,-40,-5,79,-5,-58,-6,66,-6,-67,-7,66,-7,-50,-8,94,-8,-18,-9,-113,-9,48,-9,-34,-10,-117,-10,70,-10,9,-10,-44,-11,-95,-11,126,-11,94,-11,74,-11,57,-11,53,-11,53,-11,63,-11,78,-11,102,-11,-124,-11,-89,-11,-42,-11,2,-10,59,-10,116,-10,-73,-10,-4,-10,68,-9,-113,-9,-26,-9,52,-8,-111,-8,-29,-8,73,-7,-92,-7,3,-6,103,-6,-49,-6,52,-5,-101,-5,1,-4,115,-4,-36,-4,71,-3,-78,-3,42,-2,-109,-2,9,-1,111,-1,-14,-1,89,0,-43,0,71,1,-65,1,48,2,-91,2,33,3,-109,3,7,4,124,4,-12,4,103,5,-44,5,72,6,-74,6,37,7,-116,7,-18,7,90,8,-77,8,15,9,100,9,-73,9,0,10,70,10,-127,10,-68,10,-22,10,17,11,52,11,72,11,90,11,93,11,91,11,79,11,54,11,28,11,-18,10,-67,10,-128,10,61,10,-16,9,-108,9,57,9,-50,8,101,8,-24,7,107,7,-20,6,97,6,-48,5,63,5,-88,4,18,4}; }
	private static byte[] data7(){ return new byte[] {110,3,-45,2,53,2,-105,1,-15,0,84,0,-72,-1,32,-1,127,-2,-19,-3,90,-3,-52,-4,63,-4,-62,-5,65,-5,-59,-6,85,-6,-24,-7,-121,-7,31,-7,-53,-8,122,-8,48,-8,-25,-9,-84,-9,118,-9,71,-9,25,-9,-11,-10,-38,-10,-63,-10,-82,-10,-97,-10,-104,-10,-105,-10,-109,-10,-98,-10,-93,-10,-75,-10,-59,-10,-39,-10,-12,-10,15,-9,46,-9,86,-9,115,-9,-94,-9,-51,-9,-3,-9,45,-8,99,-8,-100,-8,-39,-8,22,-7,85,-7,-94,-7,-25,-7,51,-6,-127,-6,-38,-6,48,-5,-119,-5,-27,-5,77,-4,-78,-4,24,-3,-124,-3,-9,-3,107,-2,-36,-2,84,-1,-43,-1,76,0,-51,0,79,1,-50,1,79,2,-53,2,84,3,-47,3,76,4,-55,4,70,5,-68,5,48,6,-102,6,14,7,112,7,-48,7,44,8,-127,8,-48,8,23,9,84,9,-110,9,-68,9,-20,9,3,10,39,10,43,10,59,10,53,10,47,10,31,10,1,10,-26,9,-70,9,-117,9,89,9,22,9,-40,8,-116,8,64,8,-18,7,-109,7,56,7,-36,6,120,6,18,6,-88,5,67,5,-41,4,104,4,-5,3,-111,3,34,3,-78,2,67,2,-37,1,112,1,-2,0,-103,0,45,0,-51,-1,94,-1,-3,-2,-103,-2,54,-2,-44,-3,124,-3,29,-3,-68,-4,104,-4,12,-4,-68,-5,95,-5,13,-5,-68,-6,111,-6,26,-6,-49,-7,-123,-7,60,-7,-13,-8,-81,-8,109,-8,47,-8,-16,-9,-74,-9,-126,-9,80,-9,32,-9,-8,-10,-48,-10,-78,-10,-106,-10,-126,-10,112,-10,104,-10,101,-10,104,-10,116,-10,-126,-10,-96,-10,-66,-10,-26,-10,20,-9,79,-9,-116,-9,-46,-9,31,-8,119,-8,-45,-8,53,-7,-100,-7,19,-6,-123,-6,2,-5,125,-5,11,-4,-112,-4,28,-3,-86,-3,64,-2,-45,-2,102,-1,-8,-1,-108,0,36,1,-72,1,76,2,-40,2,100,3,-27,3,112,4,-20,4,98,5,-44,5,71,6,-87,6,12,7,96,7,-73,7,1,8,66,8,126,8,-76,8,-33,8,7,9,31,9,60,9,72,9,82,9,83,9,80,9,67,9,54,9,28,9,5,9,-32,8,-65,8,-109,8,102,8,53,8,-1,7,-55,7,-116,7,77,7,15,7,-52,6,-124,6,64,6,-12,5,-80,5,90,5,17,5,-62,4,114,4,29,4,-56,3,118,3,32,3,-59,2,107,2,21,2,-74,1,91,1,-12,0,-94,0,55,0,-38,-1,112,-1,20,-1,-88,-2,67,-2,-29,-3,121,-3,19,-3,-82,-4,72,-4,-23,-5,125,-5,32,-5,-64,-6,99,-6,6,-6,-84,-7,89,-7,9,-7,-73,-8,113,-8,42,-8,-18,-9,-80,-9,127,-9,78,-9,40,-9,7,-9,-23,-10,-37,-10,-55,-10,-59,-10,-53,-10,-50,-10,-28,-10,-7,-10,25,-9,63,-9,108,-9,-94,-9,-39,-9,31,-8,92,-8,-75,-8,-2,-8,88,-7,-79,-7,19,-6,118,-6,-38,-6,68,-5,-78,-5,31,-4,-114,-4,-7,-4,118,-3,-35,-3,85,-2,-66,-2,56,-1,-94,-1,15,0,122,0,-25,0,80,1,-80,1,26,2,120,2,-45,2,44,3,-122,3,-38,3,41,4,116,4,-60,4,8,5,75,5,-116,5,-55,5,8,6,56,6,113,6,-96,6,-47,6,-8,6,36,7,69,7,109,7,-122,7,-90,7,-67,7,-45,7,-26,7,-13,7,2,8,6,8,11,8,14,8,5,8,2,8,-13,7,-29,7,-50,7,-78,7,-108,7,117,7,66,7,29,7,-29,6,-78,6,109,6,44,6,-27,5,-104,5,67,5,-21,4,-109,4,47,4,-54,3,95,3,-12,2,-123,2,14,2,-107,1,33,1,-91,0,36,0,-87,-1,43,-1,-89,-2,44,-2,-83,-3,55,-3,-77,-4,65,-4,-53,-5,90,-5,-21,-6,126,-6,30,-6,-68,-7,95,-7,11,-7,-68,-8,118,-8,45,-8,-9,-9,-66,-9,-107,-9,106,-9,76,-9,51,-9,36,-9,22,-9,22,-9,24,-9,36,-9,51,-9,77,-9,103,-9,-114,-9,-75,-9,-28,-9,24,-8,78,-8,-115,-8,-50,-8,16,-7,90,-7,-91,-7,-10,-7,64,-6,-103,-6,-21,-6,72,-5,-104,-5,-11,-5,81,-4,-83,-4,9,-3,97,-3,-57,-3,29,-2,127,-2,-44,-2,61,-1,-111,-1,-14,-1,71,0,-86,0,1,1,90,1,-73,1,13,2,99,2,-73,2,15,3,98,3,-80,3,2,4,80,4,-95,4,-27,4,49,5,117,5,-66,5,-8,5,60,6,116,6,-82,6,-29,6,15,7,68,7,103,7,-113,7,-83,7,-52,7,-32,7,-13,7,0,8,7,8,11,8,5,8,-1,7,-19,7,-36,7,-64,7,-93,7,122,7,82,7,31,7,-17,6,-83,6,113,6,43,6,-29,5,-110,5,67,5,-23,4,-105,4,49,4,-43,3,118,3,12,3,-87,2,60,2,-39,1,110,1,-2,0,-105,0,46,0,-61,-1}; }
	private static byte[] data8(){ return new byte[] {91,-1,-17,-2,-112,-2,35,-2,-58,-3,102,-3,13,-3,-84,-4,89,-4,6,-4,-74,-5,106,-5,27,-5,-32,-6,-103,-6,93,-6,34,-6,-15,-7,-66,-7,-110,-7,102,-7,70,-7,34,-7,8,-7,-18,-8,-40,-8,-52,-8,-72,-8,-73,-8,-86,-8,-81,-8,-84,-8,-74,-8,-67,-8,-54,-8,-36,-8,-18,-8,9,-7,30,-7,68,-7,97,-7,-119,-7,-82,-7,-33,-7,12,-6,64,-6,116,-6,-79,-6,-19,-6,44,-5,110,-5,-71,-5,-1,-5,78,-4,-103,-4,-16,-4,70,-3,-105,-3,-12,-3,82,-2,-83,-2,16,-1,107,-1,-44,-1,54,0,-105,0,4,1,101,1,-55,1,45,2,-108,2,-9,2,86,3,-75,3,23,4,113,4,-55,4,29,5,116,5,-65,5,14,6,77,6,-103,6,-49,6,13,7,58,7,110,7,-109,7,-73,7,-45,7,-22,7,-4,7,7,8,11,8,10,8,3,8,-10,7,-28,7,-55,7,-84,7,-120,7,94,7,49,7,-7,6,-57,6,-121,6,69,6,1,6,-73,5,110,5,26,5,-56,4,118,4,28,4,-61,3,100,3,12,3,-83,2,73,2,-17,1,-120,1,49,1,-59,0,108,0,9,0,-81,-1,73,-1,-15,-2,-108,-2,55,-2,-32,-3,-119,-3,57,-3,-32,-4,-110,-4,70,-4,-5,-5,-79,-5,106,-5,43,-5,-22,-6,-82,-6,113,-6,65,-6,10,-6,-34,-7,-81,-7,-116,-7,101,-7,70,-7,40,-7,18,-7,-2,-8,-21,-8,-29,-8,-40,-8,-42,-8,-41,-8,-38,-8,-26,-8,-15,-8,6,-7,25,-7,55,-7,80,-7,123,-7,-101,-7,-54,-7,-9,-7,43,-6,101,-6,-103,-6,-36,-6,27,-5,99,-5,-88,-5,-14,-5,67,-4,-110,-4,-29,-4,54,-3,-110,-3,-27,-3,66,-2,-107,-2,-5,-2,82,-1,-82,-1,9,0,104,0,-58,0,29,1,127,1,-47,1,47,2,125,2,-37,2,39,3,122,3,-62,3,21,4,87,4,-99,4,-34,4,28,5,90,5,-116,5,-64,5,-14,5,27,6,67,6,100,6,-123,6,-96,6,-75,6,-55,6,-44,6,-32,6,-27,6,-26,6,-29,6,-35,6,-50,6,-61,6,-83,6,-105,6,124,6,93,6,56,6,21,6,-22,5,-64,5,-118,5,91,5,34,5,-20,4,-84,4,109,4,47,4,-23,3,-94,3,91,3,14,3,-55,2,114,2,39,2,-40,1,-123,1,48,1,-35,0,-118,0,54,0,-33,-1,-121,-1,57,-1,-39,-2,-115,-2,53,-2,-24,-3,-114,-3,68,-3,-16,-4,-86,-4,86,-4,18,-4,-56,-5,-120,-5,64,-5,4,-5,-58,-6,-111,-6,86,-6,39,-6,-9,-7,-50,-7,-92,-7,-124,-7,100,-7,73,-7,53,-7,32,-7,21,-7,12,-7,7,-7,9,-7,12,-7,23,-7,36,-7,59,-7,77,-7,108,-7,-116,-7,-80,-7,-36,-7,3,-6,59,-6,110,-6,-92,-6,-28,-6,34,-5,105,-5,-86,-5,-8,-5,64,-4,-106,-4,-34,-4,54,-3,-117,-3,-31,-3,57,-2,-113,-2,-18,-2,72,-1,-96,-1,-6,-1,92,0,-79,0,15,1,103,1,-62,1,21,2,107,2,-61,2,15,3,101,3,-90,3,0,4,59,4,-121,4,-62,4,5,5,62,5,117,5,-92,5,-39,5,-1,5,42,6,72,6,106,6,-126,6,-104,6,-89,6,-73,6,-68,6,-63,6,-64,6,-71,6,-79,6,-94,6,-113,6,123,6,91,6,67,6,27,6,-10,5,-52,5,-97,5,109,5,58,5,-1,4,-56,4,-116,4,71,4,10,4,-61,3,-128,3,51,3,-21,2,-96,2,87,2,3,2,-72,1,104,1,26,1,-58,0,121,0,38,0,-35,-1,-125,-1,59,-1,-22,-2,-101,-2,79,-2,6,-2,-68,-3,115,-3,42,-3,-22,-4,-90,-4,98,-4,40,-4,-24,-5,-76,-5,119,-5,70,-5,18,-5,-22,-6,-75,-6,-107,-6,106,-6,76,-6,44,-6,17,-6,-7,-7,-23,-7,-47,-7,-51,-7,-67,-7,-65,-7,-72,-7,-67,-7,-60,-7,-52,-7,-34,-7,-18,-7,2,-6,31,-6,57,-6,95,-6,127,-6,-88,-6,-42,-6,4,-5,55,-5,106,-5,-90,-5,-32,-5,31,-4,93,-4,-92,-4,-22,-4,45,-3,123,-3,-61,-3,20,-2,95,-2,-84,-2,2,-1,78,-1,-95,-1,-16,-1,69,0,-109,0,-26,0,52,1,-120,1,-48,1,27,2,109,2,-80,2,-6,2,60,3,-126,3,-63,3,-2,3,56,4,113,4,-88,4,-43,4,7,5,48,5,91,5,122,5,-97,5,-71,5,-44,5,-22,5,-7,5,11,6,19,6,25,6,30,6,30,6,21,6,20,6,0,6,-7,5,-32,5,-49,5,-78,5,-105,5,116,5,85,5,45,5,4,5,-42,4,-87,4,119,4,66,4,10,4,-45,3,-104,3,85,3,25,3,-43,2,-108,2,76,2,3,2,-67,1,116,1,36,1,-36,0,-117,0,68,0,-20,-1,-91,-1,83,-1,2,-1,-76,-2,104,-2,27,-2,-52,-3}; }
	private static byte[] data9(){ return new byte[] {-127,-3,55,-3,-14,-4,-92,-4,99,-4,32,-4,-33,-5,-94,-5,98,-5,49,-5,-10,-6,-57,-6,-105,-6,109,-6,73,-6,33,-6,6,-6,-21,-7,-45,-7,-59,-7,-77,-7,-79,-7,-90,-7,-84,-7,-83,-7,-69,-7,-58,-7,-35,-7,-17,-7,16,-6,45,-6,82,-6,124,-6,-91,-6,-42,-6,12,-5,63,-5,122,-5,-73,-5,-10,-5,59,-4,122,-4,-62,-4,12,-3,84,-3,-96,-3,-26,-3,61,-2,127,-2,-41,-2,26,-1,112,-1,-69,-1,4,0,83,0,-99,0,-22,0,45,1,123,1,-66,1,1,2,66,2,-123,2,-64,2,0,3,51,3,113,3,-93,3,-44,3,5,4,51,4,94,4,-123,4,-87,4,-50,4,-18,4,9,5,37,5,59,5,81,5,99,5,112,5,126,5,-122,5,-116,5,-112,5,-112,5,-115,5,-122,5,-128,5,114,5,99,5,83,5,60,5,37,5,9,5,-19,4,-56,4,-86,4,122,4,89,4,40,4,-10,3,-56,3,-113,3,92,3,28,3,-28,2,-94,2,103,2,28,2,-36,1,-106,1,79,1,4,1,-70,0,113,0,40,0,-42,-1,-113,-1,65,-1,-10,-2,-87,-2,98,-2,24,-2,-48,-3,-120,-3,72,-3,1,-3,-59,-4,-128,-4,76,-4,16,-4,-37,-5,-90,-5,122,-5,76,-5,35,-5,0,-5,-37,-6,-60,-6,-94,-6,-110,-6,125,-6,113,-6,102,-6,93,-6,95,-6,91,-6,101,-6,106,-6,119,-6,-122,-6,-101,-6,-82,-6,-53,-6,-30,-6,8,-5,37,-5,76,-5,113,-5,-99,-5,-54,-5,-13,-5,40,-4,86,-4,-113,-4,-66,-4,-7,-4,47,-3,107,-3,-92,-3,-35,-3,32,-2,88,-2,-101,-2,-46,-2,29,-1,83,-1,-101,-1,-44,-1,27,0,92,0,-103,0,-32,0,30,1,94,1,-99,1,-33,1,28,2,92,2,-109,2,-40,2,11,3,73,3,127,3,-76,3,-20,3,26,4,77,4,122,4,-88,4,-53,4,-9,4,22,5,56,5,84,5,109,5,-126,5,-106,5,-93,5,-84,5,-74,5,-77,5,-73,5,-84,5,-91,5,-107,5,-125,5,109,5,80,5,51,5,14,5,-21,4,-70,4,-111,4,93,4,40,4,-16,3,-78,3,119,3,55,3,-16,2,-83,2,102,2,32,2,-48,1,-116,1,58,1,-10,0,-95,0,88,0,15,0,-65,-1,121,-1,39,-1,-24,-2,-103,-2,86,-2,20,-2,-46,-3,-111,-3,85,-3,27,-3,-28,-4,-82,-4,121,-4,77,-4,32,-4,-11,-5,-48,-5,-85,-5,-115,-5,108,-5,86,-5,58,-5,45,-5,18,-5,13,-5,-5,-6,-8,-6,-17,-6,-20,-6,-17,-6,-19,-6,-9,-6,-4,-6,7,-5,20,-5,35,-5,54,-5,72,-5,96,-5,120,-5,-108,-5,-80,-5,-48,-5,-16,-5,25,-4,55,-4,101,-4,-115,-4,-72,-4,-24,-4,20,-3,74,-3,124,-3,-80,-3,-26,-3,35,-2,88,-2,-105,-2,-49,-2,18,-1,79,-1,-114,-1,-50,-1,16,0,85,0,-111,0,-38,0,25,1,90,1,-102,1,-33,1,27,2,92,2,-105,2,-45,2,17,3,69,3,123,3,-77,3,-32,3,18,4,59,4,101,4,-117,4,-82,4,-54,4,-22,4,-3,4,21,5,35,5,49,5,57,5,61,5,64,5,59,5,55,5,42,5,32,5,8,5,-7,4,-35,4,-60,4,-92,4,-127,4,95,4,53,4,14,4,-35,3,-74,3,-128,3,80,3,26,3,-25,2,-78,2,117,2,64,2,6,2,-52,1,-112,1,83,1,29,1,-34,0,-94,0,103,0,44,0,-13,-1,-73,-1,121,-1,72,-1,6,-1,-46,-2,-100,-2,101,-2,47,-2,-5,-3,-56,-3,-104,-3,99,-3,56,-3,6,-3,-34,-4,-81,-4,-123,-4,97,-4,56,-4,20,-4,-15,-5,-47,-5,-76,-5,-107,-5,125,-5,100,-5,80,-5,61,-5,45,-5,32,-5,20,-5,16,-5,9,-5,8,-5,12,-5,13,-5,27,-5,34,-5,52,-5,69,-5,92,-5,117,-5,-111,-5,-76,-5,-44,-5,-2,-5,35,-4,86,-4,-125,-4,-75,-4,-21,-4,37,-3,93,-3,-99,-3,-43,-3,30,-2,91,-2,-97,-2,-28,-2,42,-1,115,-1,-77,-1,-1,-1,67,0,-114,0,-49,0,25,1,89,1,-97,1,-36,1,32,2,93,2,-107,2,-48,2,8,3,59,3,108,3,-102,3,-57,3,-19,3,22,4,48,4,90,4,105,4,-115,4,-107,4,-77,4,-75,4,-55,4,-54,4,-46,4,-47,4,-48,4,-55,4,-59,4,-75,4,-83,4,-104,4,-120,4,114,4,92,4,63,4,40,4,4,4,-22,3,-60,3,-93,3,123,3,89,3,43,3,5,3,-40,2,-85,2,-125,2,73,2,36,2,-21,1,-65,1,-120,1,85,1,33,1,-18,0,-77,0,-127,0,72,0,18,0,-37,-1,-97,-1,109,-1,48,-1,-7,-2,-61,-2,-113,-2,81,-2,34,-2,-24,-3,-71,-3,-128,-3,83,-3,30,-3,-10,-4,-65,-4}; }
	private static byte[] data10(){ return new byte[] {-101,-4,109,-4,73,-4,34,-4,-3,-5,-32,-5,-62,-5,-92,-5,-112,-5,121,-5,102,-5,93,-5,73,-5,73,-5,62,-5,65,-5,66,-5,72,-5,78,-5,96,-5,105,-5,-125,-5,-109,-5,-79,-5,-52,-5,-21,-5,13,-4,52,-4,91,-4,-124,-4,-79,-4,-32,-4,17,-3,67,-3,116,-3,-82,-3,-29,-3,24,-2,84,-2,-118,-2,-55,-2,-3,-2,58,-1,118,-1,-83,-1,-22,-1,31,0,93,0,-108,0,-55,0,2,1,56,1,106,1,-99,1,-48,1,-1,1,46,2,89,2,-120,2,-81,2,-39,2,-6,2,39,3,65,3,105,3,-128,3,-92,3,-71,3,-40,3,-25,3,2,4,18,4,33,4,51,4,59,4,72,4,78,4,84,4,86,4,87,4,86,4,82,4,74,4,67,4,52,4,43,4,22,4,5,4,-16,3,-41,3,-68,3,-97,3,127,3,97,3,54,3,19,3,-23,2,-65,2,-113,2,97,2,47,2,-3,1,-58,1,-114,1,91,1,29,1,-28,0,-88,0,107,0,51,0,-18,-1,-75,-1,118,-1,57,-1,-8,-2,-62,-2,-125,-2,71,-2,16,-2,-42,-3,-93,-3,105,-3,58,-3,7,-3,-37,-4,-82,-4,-127,-4,96,-4,56,-4,24,-4,-6,-5,-34,-5,-56,-5,-79,-5,-96,-5,-108,-5,-122,-5,-128,-5,122,-5,122,-5,124,-5,-128,-5,-119,-5,-109,-5,-94,-5,-77,-5,-59,-5,-33,-5,-14,-5,20,-4,43,-4,81,-4,109,-4,-106,-4,-71,-4,-31,-4,8,-3,53,-3,98,-3,-117,-3,-68,-3,-23,-3,29,-2,74,-2,124,-2,-81,-2,-30,-2,20,-1,70,-1,123,-1,-81,-1,-32,-1,19,0,73,0,122,0,-83,0,-33,0,18,1,64,1,113,1,-94,1,-51,1,-1,1,37,2,86,2,127,2,-93,2,-48,2,-15,2,26,3,55,3,92,3,119,3,-104,3,-82,3,-55,3,-32,3,-14,3,6,4,17,4,33,4,42,4,51,4,53,4,56,4,55,4,51,4,47,4,35,4,24,4,8,4,-7,3,-30,3,-52,3,-77,3,-106,3,118,3,88,3,48,3,17,3,-31,2,-67,2,-114,2,100,2,50,2,1,2,-45,1,-100,1,106,1,52,1,0,1,-52,0,-113,0,95,0,36,0,-13,-1,-73,-1,-123,-1,78,-1,25,-1,-26,-2,-77,-2,-121,-2,78,-2,38,-2,-11,-3,-50,-3,-96,-3,119,-3,85,-3,45,-3,13,-3,-22,-4,-52,-4,-78,-4,-107,-4,127,-4,104,-4,85,-4,68,-4,51,-4,42,-4,28,-4,22,-4,14,-4,13,-4,8,-4,14,-4,11,-4,21,-4,25,-4,39,-4,46,-4,64,-4,75,-4,100,-4,114,-4,-116,-4,-93,-4,-69,-4,-35,-4,-12,-4,23,-3,59,-3,90,-3,-126,-3,-91,-3,-46,-3,-8,-3,37,-2,78,-2,127,-2,-83,-2,-36,-2,11,-1,64,-1,111,-1,-92,-1,-44,-1,12,0,61,0,113,0,-88,0,-39,0,14,1,61,1,115,1,-91,1,-47,1,6,2,46,2,99,2,-123,2,-73,2,-39,2,4,3,37,3,71,3,105,3,-124,3,-96,3,-71,3,-50,3,-29,3,-15,3,0,4,11,4,19,4,24,4,28,4,25,4,23,4,16,4,7,4,-3,3,-21,3,-33,3,-59,3,-77,3,-104,3,125,3,99,3,61,3,33,3,-6,2,-41,2,-82,2,-125,2,95,2,44,2,6,2,-46,1,-89,1,118,1,70,1,16,1,-23,0,-83,0,-126,0,73,0,29,0,-23,-1,-72,-1,-124,-1,87,-1,35,-1,-12,-2,-54,-2,-105,-2,112,-2,60,-2,28,-2,-21,-3,-55,-3,-97,-3,123,-3,93,-3,51,-3,27,-3,-7,-4,-33,-4,-58,-4,-84,-4,-104,-4,-124,-4,113,-4,99,-4,85,-4,73,-4,66,-4,57,-4,54,-4,53,-4,50,-4,59,-4,57,-4,70,-4,78,-4,90,-4,107,-4,120,-4,-114,-4,-93,-4,-70,-4,-46,-4,-15,-4,11,-3,44,-3,75,-3,114,-3,-111,-3,-69,-3,-34,-3,11,-2,50,-2,94,-2,-121,-2,-72,-2,-28,-2,16,-1,65,-1,111,-1,-95,-1,-52,-1,-1,-1,46,0,94,0,-116,0,-67,0,-21,0,24,1,67,1,114,1,-99,1,-59,1,-17,1,23,2,62,2,95,2,-121,2,-92,2,-54,2,-30,2,1,3,26,3,53,3,72,3,94,3,111,3,127,3,-115,3,-104,3,-96,3,-88,3,-85,3,-82,3,-84,3,-84,3,-92,3,-97,3,-108,3,-122,3,126,3,102,3,90,3,65,3,44,3,21,3,-10,2,-35,2,-65,2,-99,2,125,2,88,2,52,2,18,2,-28,1,-64,1,-107,1,108,1,64,1,17,1,-22,0,-72,0,-114,0,91,0,50,0,2,0,-45,-1,-91,-1,120,-1,73,-1,28,-1,-14,-2,-59,-2,-102,-2,114,-2,68,-2,38,-2,-10,-3,-42,-3,-77,-3,-115,-3,113,-3,77,-3,53,-3,22,-3,0,-3,-28,-4,-46,-4,-65,-4,-87,-4}; }
	private static byte[] data11(){ return new byte[] {-97,-4,-113,-4,-123,-4,126,-4,114,-4,118,-4,109,-4,114,-4,115,-4,117,-4,-126,-4,-120,-4,-109,-4,-92,-4,-83,-4,-57,-4,-41,-4,-20,-4,7,-3,30,-3,59,-3,88,-3,118,-3,-104,-3,-69,-3,-37,-3,3,-2,38,-2,82,-2,117,-2,-96,-2,-52,-2,-11,-2,31,-1,77,-1,118,-1,-88,-1,-47,-1,-4,-1,46,0,86,0,-124,0,-77,0,-38,0,9,1,46,1,92,1,-125,1,-86,1,-48,1,-10,1,27,2,58,2,94,2,125,2,-101,2,-73,2,-47,2,-23,2,3,3,20,3,40,3,59,3,70,3,87,3,93,3,105,3,109,3,115,3,114,3,117,3,111,3,110,3,99,3,94,3,79,3,68,3,53,3,33,3,16,3,-6,2,-29,2,-54,2,-82,2,-107,2,115,2,86,2,51,2,19,2,-16,1,-58,1,-90,1,123,1,87,1,42,1,3,1,-40,0,-78,0,-128,0,89,0,45,0,2,0,-41,-1,-87,-1,-126,-1,83,-1,43,-1,1,-1,-37,-2,-82,-2,-118,-2,100,-2,60,-2,29,-2,-12,-3,-41,-3,-73,-3,-107,-3,124,-3,92,-3,74,-3,40,-3,28,-3,-1,-4,-13,-4,-31,-4,-48,-4,-56,-4,-70,-4,-74,-4,-85,-4,-85,-4,-88,-4,-89,-4,-82,-4,-85,-4,-70,-4,-69,-4,-50,-4,-45,-4,-24,-4,-11,-4,9,-3,31,-3,50,-3,79,-3,101,-3,-126,-3,-99,-3,-64,-3,-36,-3,0,-2,31,-2,70,-2,106,-2,-113,-2,-75,-2,-33,-2,4,-1,47,-1,85,-1,-125,-1,-86,-1,-43,-1,-4,-1,43,0,80,0,126,0,-91,0,-48,0,-10,0,29,1,70,1,108,1,-114,1,-74,1,-43,1,-4,1,21,2,58,2,85,2,115,2,-117,2,-91,2,-68,2,-45,2,-29,2,-7,2,4,3,24,3,29,3,45,3,47,3,59,3,57,3,63,3,61,3,58,3,55,3,47,3,39,3,29,3,15,3,5,3,-19,2,-28,2,-58,2,-70,2,-101,2,-122,2,107,2,78,2,48,2,17,2,-14,1,-47,1,-84,1,-119,1,103,1,62,1,29,1,-19,0,-48,0,-94,0,125,0,80,0,44,0,1,0,-38,-1,-81,-1,-120,-1,96,-1,54,-1,18,-1,-19,-2,-63,-2,-92,-2,122,-2,91,-2,56,-2,21,-2,-6,-3,-39,-3,-67,-3,-94,-3,-120,-3,112,-3,91,-3,66,-3,54,-3,29,-3,20,-3,4,-3,-9,-4,-15,-4,-25,-4,-32,-4,-31,-4,-38,-4,-34,-4,-32,-4,-31,-4,-20,-4,-16,-4,-1,-4,6,-3,23,-3,39,-3,54,-3,77,-3,94,-3,121,-3,-114,-3,-86,-3,-61,-3,-31,-3,0,-2,29,-2,62,-2,99,-2,-128,-2,-89,-2,-55,-2,-17,-2,23,-1,57,-1,98,-1,-121,-1,-77,-1,-44,-1,-1,-1,39,0,76,0,118,0,-101,0,-62,0,-24,0,12,1,49,1,86,1,118,1,-102,1,-69,1,-40,1,-6,1,18,2,51,2,77,2,96,2,127,2,-113,2,-91,2,-70,2,-59,2,-39,2,-28,2,-18,2,-7,2,1,3,3,3,12,3,6,3,15,3,3,3,9,3,-7,2,-8,2,-22,2,-30,2,-47,2,-60,2,-80,2,-94,2,-119,2,118,2,92,2,69,2,42,2,15,2,-18,1,-42,1,-78,1,-109,1,114,1,78,1,46,1,7,1,-28,0,-64,0,-103,0,115,0,78,0,39,0,5,0,-41,-1,-73,-1,-114,-1,106,-1,68,-1,32,-1,-4,-2,-41,-2,-72,-2,-111,-2,121,-2,79,-2,55,-2,23,-2,-4,-3,-31,-3,-59,-3,-79,-3,-105,-3,-123,-3,110,-3,95,-3,78,-3,64,-3,50,-3,42,-3,30,-3,25,-3,18,-3,15,-3,16,-3,12,-3,17,-3,21,-3,24,-3,38,-3,40,-3,58,-3,66,-3,83,-3,101,-3,117,-3,-119,-3,-96,-3,-77,-3,-47,-3,-28,-3,5,-2,29,-2,60,-2,90,-2,122,-2,-102,-2,-68,-2,-37,-2,2,-1,35,-1,70,-1,108,-1,-113,-1,-74,-1,-39,-1,-2,-1,35,0,75,0,106,0,-106,0,-76,0,-38,0,-5,0,32,1,62,1,99,1,125,1,-94,1,-70,1,-37,1,-13,1,14,2,43,2,57,2,89,2,102,2,124,2,-113,2,-104,2,-81,2,-77,2,-60,2,-57,2,-46,2,-43,2,-39,2,-37,2,-37,2,-41,2,-43,2,-50,2,-57,2,-66,2,-77,2,-90,2,-105,2,-120,2,119,2,98,2,80,2,52,2,37,2,6,2,-17,1,-48,1,-72,1,-104,1,123,1,90,1,59,1,25,1,-8,0,-42,0,-77,0,-110,0,108,0,69,0,43,0,-4,-1,-29,-1,-74,-1,-104,-1,113,-1,79,-1,48,-1,10,-1,-20,-2,-55,-2,-86,-2,-114,-2,108,-2,82,-2,54,-2,28,-2,0,-2,-20,-3,-47,-3,-63,-3,-88,-3,-101,-3,-124,-3,125,-3,102,-3,98,-3,84,-3,77,-3,70,-3,65,-3,60,-3,62,-3,60,-3}; }
	private static byte[] data12(){ return new byte[] {62,-3,68,-3,69,-3,82,-3,87,-3,100,-3,109,-3,127,-3,-118,-3,-95,-3,-82,-3,-60,-3,-36,-3,-20,-3,12,-2,31,-2,62,-2,87,-2,115,-2,-109,-2,-80,-2,-50,-2,-16,-2,15,-1,50,-1,82,-1,116,-1,-105,-1,-70,-1,-37,-1,-1,-1,33,0,70,0,100,0,-117,0,-85,0,-54,0,-18,0,12,1,46,1,72,1,107,1,-126,1,-90,1,-72,1,-40,1,-19,1,6,2,27,2,47,2,67,2,86,2,99,2,117,2,126,2,-114,2,-107,2,-98,2,-92,2,-87,2,-83,2,-83,2,-81,2,-87,2,-86,2,-95,2,-100,2,-110,2,-118,2,123,2,111,2,96,2,78,2,66,2,37,2,24,2,-2,1,-24,1,-47,1,-77,1,-98,1,126,1,99,1,70,1,39,1,10,1,-26,0,-55,0,-86,0,-121,0,102,0,67,0,36,0,2,0,-33,-1,-67,-1,-97,-1,120,-1,94,-1,54,-1,31,-1,-6,-2,-35,-2,-65,-2,-91,-2,-124,-2,109,-2,83,-2,54,-2,37,-2,8,-2,-10,-3,-29,-3,-50,-3,-66,-3,-80,-3,-98,-3,-107,-3,-120,-3,127,-3,119,-3,113,-3,107,-3,107,-3,102,-3,105,-3,105,-3,109,-3,117,-3,119,-3,-125,-3,-115,-3,-109,-3,-85,-3,-82,-3,-58,-3,-45,-3,-25,-3,-3,-3,16,-2,39,-2,63,-2,89,-2,112,-2,-115,-2,-87,-2,-60,-2,-29,-2,-3,-2,33,-1,61,-1,93,-1,125,-1,-100,-1,-64,-1,-36,-1,0,0,30,0,66,0,94,0,-126,0,-96,0,-64,0,-36,0,-1,0,23,1,56,1,81,1,110,1,-119,1,-96,1,-72,1,-48,1,-26,1,-7,1,15,2,30,2,49,2,63,2,75,2,90,2,101,2,107,2,119,2,120,2,-125,2,126,2,-120,2,-128,2,-125,2,125,2,121,2,115,2,106,2,96,2,86,2,71,2,61,2,41,2,28,2,7,2,-12,1,-31,1,-54,1,-77,1,-101,1,-128,1,108,1,72,1,55,1,16,1,-3,0,-41,0,-66,0,-99,0,-128,0,95,0,64,0,34,0,1,0,-31,-1,-62,-1,-93,-1,-125,-1,101,-1,69,-1,43,-1,11,-1,-17,-2,-45,-2,-71,-2,-100,-2,-121,-2,106,-2,88,-2,60,-2,43,-2,21,-2,3,-2,-13,-3,-33,-3,-42,-3,-61,-3,-69,-3,-82,-3,-88,-3,-98,-3,-103,-3,-108,-3,-110,-3,-111,-3,-112,-3,-109,-3,-107,-3,-101,-3,-94,-3,-88,-3,-76,-3,-68,-3,-54,-3,-41,-3,-25,-3,-10,-3,9,-2,27,-2,46,-2,70,-2,89,-2,116,-2,-120,-2,-93,-2,-65,-2,-41,-2,-11,-2,13,-1,46,-1,74,-1,102,-1,-123,-1,-93,-1,-61,-1,-32,-1,-2,-1,29,0,62,0,87,0,125,0,-109,0,-74,0,-49,0,-20,0,11,1,33,1,63,1,86,1,113,1,-123,1,-96,1,-78,1,-56,1,-36,1,-22,1,2,2,11,2,29,2,40,2,52,2,63,2,70,2,79,2,83,2,88,2,91,2,92,2,92,2,90,2,86,2,83,2,75,2,69,2,58,2,50,2,36,2,23,2,10,2,-8,1,-23,1,-44,1,-60,1,-83,1,-103,1,-127,1,105,1,85,1,54,1,32,1,3,1,-22,0,-51,0,-80,0,-108,0,121,0,87,0,63,0,28,0,5,0,-33,-1,-55,-1,-89,-1,-116,-1,109,-1,83,-1,53,-1,29,-1,-3,-2,-25,-2,-50,-2,-79,-2,-98,-2,-125,-2,113,-2,90,-2,70,-2,52,-2,35,-2,17,-2,3,-2,-11,-3,-23,-3,-34,-3,-46,-3,-51,-3,-61,-3,-64,-3,-70,-3,-73,-3,-71,-3,-75,-3,-70,-3,-69,-3,-63,-3,-58,-3,-49,-3,-43,-3,-30,-3,-20,-3,-6,-3,6,-2,24,-2,38,-2,58,-2,76,-2,94,-2,118,-2,-118,-2,-96,-2,-70,-2,-48,-2,-21,-2,5,-1,26,-1,63,-1,80,-1,116,-1,-118,-1,-87,-1,-56,-1,-33,-1,2,0,25,0,58,0,85,0,111,0,-111,0,-90,0,-61,0,-31,0,-11,0,21,1,38,1,69,1,87,1,113,1,-126,1,-101,1,-86,1,-65,1,-50,1,-34,1,-16,1,-9,1,10,2,15,2,28,2,36,2,40,2,48,2,53,2,50,2,59,2,51,2,56,2,49,2,45,2,40,2,33,2,23,2,17,2,-2,1,-4,1,-28,1,-34,1,-56,1,-72,1,-88,1,-108,1,126,1,106,1,84,1,62,1,36,1,15,1,-14,0,-35,0,-65,0,-91,0,-114,0,109,0,87,0,53,0,32,0,0,0,-26,-1,-56,-1,-81,-1,-111,-1,119,-1,95,-1,63,-1,46,-1,9,-1,-4,-2,-35,-2,-55,-2,-79,-2,-98,-2,-121,-2,116,-2,98,-2,78,-2,67,-2,47,-2,34,-2,22,-2,7,-2,3,-2,-14,-3,-15,-3,-27,-3,-28,-3,-34,-3,-36,-3,-38,-3,-36,-3,-37,-3,-30,-3,-30,-3,-21,-3,-17,-3,-6,-3,1,-2,15,-2}; }
	private static byte[] data13(){ return new byte[] {24,-2,39,-2,52,-2,68,-2,87,-2,100,-2,123,-2,-117,-2,-93,-2,-75,-2,-49,-2,-31,-2,-2,-2,17,-1,46,-1,69,-1,95,-1,122,-1,-110,-1,-80,-1,-55,-1,-28,-1,-3,-1,29,0,49,0,84,0,103,0,-121,0,-99,0,-73,0,-47,0,-23,0,2,1,20,1,51,1,63,1,93,1,105,1,-126,1,-112,1,-93,1,-78,1,-62,1,-50,1,-34,1,-29,1,-11,1,-10,1,4,2,7,2,13,2,18,2,16,2,23,2,18,2,19,2,16,2,11,2,5,2,0,2,-10,1,-17,1,-29,1,-40,1,-55,1,-64,1,-85,1,-97,1,-115,1,122,1,104,1,84,1,62,1,43,1,18,1,-3,0,-26,0,-51,0,-76,0,-100,0,-126,0,107,0,77,0,55,0,25,0,4,0,-29,-1,-48,-1,-78,-1,-103,-1,127,-1,102,-1,80,-1,53,-1,30,-1,8,-1,-16,-2,-34,-2,-61,-2,-76,-2,-97,-2,-117,-2,125,-2,105,-2,93,-2,75,-2,65,-2,50,-2,41,-2,31,-2,20,-2,17,-2,7,-2,4,-2,0,-2,-3,-3,-4,-3,-1,-3,-5,-3,4,-2,3,-2,11,-2,17,-2,25,-2,32,-2,46,-2,53,-2,69,-2,80,-2,95,-2,113,-2,125,-2,-108,-2,-95,-2,-71,-2,-55,-2,-31,-2,-11,-2,11,-1,35,-1,56,-1,81,-1,106,-1,-126,-1,-104,-1,-74,-1,-54,-1,-25,-1,-2,-1,26,0,47,0,78,0,97,0,127,0,-109,0,-84,0,-59,0,-38,0,-14,0,4,1,30,1,47,1,67,1,86,1,105,1,118,1,-114,1,-112,1,-83,1,-82,1,-64,1,-55,1,-47,1,-35,1,-32,1,-23,1,-21,1,-13,1,-17,1,-10,1,-14,1,-14,1,-17,1,-20,1,-27,1,-32,1,-39,1,-49,1,-58,1,-70,1,-81,1,-94,1,-108,1,-125,1,117,1,100,1,80,1,64,1,42,1,26,1,0,1,-17,0,-44,0,-59,0,-91,0,-106,0,120,0,100,0,74,0,50,0,25,0,2,0,-24,-1,-50,-1,-69,-1,-99,-1,-121,-1,114,-1,88,-1,66,-1,45,-1,21,-1,4,-1,-21,-2,-37,-2,-58,-2,-74,-2,-95,-2,-107,-2,-127,-2,120,-2,102,-2,91,-2,81,-2,67,-2,62,-2,51,-2,46,-2,39,-2,35,-2,30,-2,31,-2,27,-2,28,-2,31,-2,31,-2,37,-2,41,-2,47,-2,55,-2,62,-2,74,-2,81,-2,97,-2,106,-2,121,-2,-119,-2,-106,-2,-88,-2,-70,-2,-55,-2,-32,-2,-17,-2,8,-1,25,-1,48,-1,69,-1,91,-1,117,-1,-122,-1,-94,-1,-72,-1,-48,-1,-24,-1,-3,-1,24,0,47,0,69,0,96,0,114,0,-114,0,-96,0,-71,0,-52,0,-29,0,-11,0,12,1,28,1,48,1,64,1,84,1,95,1,115,1,124,1,-114,1,-105,1,-94,1,-82,1,-75,1,-65,1,-61,1,-55,1,-48,1,-47,1,-44,1,-44,1,-42,1,-47,1,-45,1,-53,1,-54,1,-63,1,-68,1,-78,1,-86,1,-96,1,-109,1,-117,1,119,1,110,1,94,1,76,1,63,1,41,1,26,1,7,1,-14,0,-33,0,-56,0,-72,0,-101,0,-114,0,111,0,95,0,69,0,45,0,28,0,-3,-1,-20,-1,-45,-1,-70,-1,-88,-1,-116,-1,123,-1,99,-1,78,-1,57,-1,37,-1,18,-1,-3,-2,-20,-2,-37,-2,-56,-2,-71,-2,-86,-2,-103,-2,-112,-2,126,-2,119,-2,105,-2,97,-2,88,-2,80,-2,74,-2,68,-2,64,-2,62,-2,57,-2,60,-2,56,-2,61,-2,61,-2,65,-2,71,-2,74,-2,86,-2,87,-2,103,-2,106,-2,122,-2,-124,-2,-111,-2,-96,-2,-84,-2,-67,-2,-50,-2,-35,-2,-15,-2,0,-1,22,-1,41,-1,59,-1,83,-1,100,-1,125,-1,-114,-1,-88,-1,-69,-1,-42,-1,-26,-1,0,0,21,0,44,0,66,0,88,0,109,0,-124,0,-106,0,-81,0,-66,0,-42,0,-27,0,-4,0,10,1,31,1,42,1,64,1,74,1,91,1,103,1,114,1,-127,1,-121,1,-107,1,-104,1,-90,1,-92,1,-77,1,-83,1,-71,1,-76,1,-70,1,-73,1,-74,1,-75,1,-80,1,-84,1,-89,1,-96,1,-104,1,-112,1,-123,1,124,1,112,1,99,1,87,1,70,1,60,1,38,1,27,1,7,1,-9,0,-29,0,-48,0,-65,0,-88,0,-104,0,125,0,111,0,85,0,66,0,44,0,22,0,2,0,-22,-1,-42,-1,-63,-1,-87,-1,-104,-1,127,-1,111,-1,87,-1,71,-1,49,-1,34,-1,12,-1,-3,-2,-19,-2,-37,-2,-49,-2,-69,-2,-76,-2,-94,-2,-103,-2,-114,-2,-126,-2,122,-2,115,-2,104,-2,105,-2,92,-2,94,-2,87,-2,87,-2,86,-2,86,-2,87,-2,90,-2,92,-2,98,-2,101,-2,111,-2,115,-2,126,-2,-122,-2,-112,-2,-101,-2,-87,-2,-76,-2,-62,-2,-47,-2,-32,-2}; }
	private static byte[] data14(){ return new byte[] {-17,-2,3,-1,14,-1,38,-1,52,-1,74,-1,90,-1,113,-1,-126,-1,-103,-1,-86,-1,-62,-1,-43,-1,-21,-1,-3,-1,23,0,38,0,65,0,80,0,105,0,121,0,-113,0,-94,0,-75,0,-57,0,-39,0,-22,0,-3,0,9,1,29,1,40,1,56,1,69,1,80,1,94,1,103,1,112,1,122,1,-126,1,-120,1,-111,1,-113,1,-101,1,-104,1,-100,1,-97,1,-102,1,-98,1,-104,1,-106,1,-110,1,-115,1,-122,1,-128,1,118,1,111,1,99,1,91,1,76,1,65,1,53,1,37,1,24,1,6,1,-7,0,-26,0,-41,0,-62,0,-76,0,-98,0,-115,0,120,0,102,0,81,0,62,0,40,0,23,0,0,0,-19,-1,-42,-1,-57,-1,-82,-1,-99,-1,-119,-1,118,-1,99,-1,81,-1,62,-1,49,-1,25,-1,15,-1,-4,-2,-18,-2,-30,-2,-49,-2,-56,-2,-73,-2,-79,-2,-94,-2,-100,-2,-111,-2,-117,-2,-125,-2,127,-2,120,-2,119,-2,113,-2,114,-2,111,-2,113,-2,113,-2,115,-2,119,-2,123,-2,127,-2,-120,-2,-119,-2,-103,-2,-103,-2,-85,-2,-82,-2,-64,-2,-57,-2,-42,-2,-28,-2,-16,-2,3,-1,15,-1,31,-1,51,-1,65,-1,84,-1,103,-1,117,-1,-113,-1,-102,-1,-76,-1,-61,-1,-40,-1,-19,-1,-3,-1,21,0,37,0,58,0,78,0,98,0,113,0,-120,0,-107,0,-84,0,-70,0,-52,0,-35,0,-21,0,-5,0,9,1,24,1,36,1,50,1,57,1,76,1,76,1,95,1,95,1,108,1,111,1,119,1,122,1,127,1,-128,1,-124,1,-126,1,-123,1,-127,1,-127,1,124,1,123,1,114,1,113,1,101,1,97,1,88,1,77,1,71,1,53,1,49,1,30,1,22,1,5,1,-9,0,-23,0,-39,0,-56,0,-72,0,-89,0,-106,0,-125,0,113,0,95,0,78,0,56,0,40,0,18,0,2,0,-19,-1,-36,-1,-58,-1,-73,-1,-96,-1,-111,-1,-128,-1,107,-1,94,-1,72,-1,61,-1,41,-1,28,-1,14,-1,-2,-2,-14,-2,-28,-2,-39,-2,-50,-2,-61,-2,-71,-2,-79,-2,-87,-2,-96,-2,-100,-2,-106,-2,-111,-2,-114,-2,-118,-2,-117,-2,-122,-2,-115,-2,-123,-2,-112,-2,-117,-2,-106,-2,-107,-2,-97,-2,-94,-2,-85,-2,-76,-2,-68,-2,-59,-2,-45,-2,-38,-2,-23,-2,-12,-2,3,-1,16,-1,32,-1,43,-1,65,-1,75,-1,97,-1,108,-1,-125,-1,-112,-1,-89,-1,-78,-1,-52,-1,-41,-1,-16,-1,-4,-1,21,0,34,0,55,0,74,0,88,0,112,0,121,0,-110,0,-98,0,-81,0,-63,0,-53,0,-30,0,-25,0,-4,0,5,1,19,1,30,1,40,1,52,1,60,1,69,1,77,1,84,1,89,1,97,1,96,1,106,1,103,1,109,1,106,1,109,1,106,1,104,1,103,1,96,1,96,1,85,1,85,1,71,1,68,1,58,1,48,1,37,1,29,1,12,1,6,1,-13,0,-21,0,-40,0,-51,0,-68,0,-86,0,-95,0,-119,0,125,0,106,0,88,0,74,0,53,0,36,0,19,0,0,0,-17,-1,-33,-1,-55,-1,-68,-1,-92,-1,-100,-1,-126,-1,123,-1,96,-1,91,-1,68,-1,57,-1,40,-1,29,-1,14,-1,3,-1,-11,-2,-21,-2,-31,-2,-42,-2,-51,-2,-59,-2,-66,-2,-73,-2,-79,-2,-84,-2,-89,-2,-91,-2,-94,-2,-96,-2,-96,-2,-96,-2,-95,-2,-94,-2,-90,-2,-89,-2,-79,-2,-80,-2,-68,-2,-67,-2,-55,-2,-48,-2,-40,-2,-26,-2,-20,-2,-5,-2,3,-1,20,-1,29,-1,46,-1,59,-1,72,-1,92,-1,100,-1,124,-1,-123,-1,-101,-1,-87,-1,-70,-1,-52,-1,-34,-1,-20,-1,0,0,17,0,33,0,53,0,66,0,88,0,98,0,121,0,-125,0,-104,0,-93,0,-76,0,-62,0,-48,0,-35,0,-23,0,-9,0,1,1,12,1,24,1,30,1,44,1,46,1,58,1,63,1,67,1,76,1,75,1,83,1,82,1,84,1,87,1,84,1,86,1,80,1,81,1,75,1,74,1,65,1,62,1,53,1,47,1,39,1,28,1,22,1,7,1,1,1,-15,0,-25,0,-37,0,-53,0,-62,0,-83,0,-91,0,-112,0,-121,0,114,0,101,0,83,0,68,0,50,0,35,0,16,0,2,0,-16,-1,-34,-1,-48,-1,-69,-1,-80,-1,-100,-1,-112,-1,125,-1,111,-1,96,-1,84,-1,66,-1,57,-1,40,-1,30,-1,18,-1,6,-1,-4,-2,-13,-2,-24,-2,-32,-2,-39,-2,-46,-2,-54,-2,-57,-2,-64,-2,-68,-2,-68,-2,-74,-2,-74,-2,-74,-2,-76,-2,-73,-2,-71,-2,-71,-2,-64,-2,-62,-2,-59,-2,-48,-2,-47,-2,-35,-2,-31,-2,-19,-2,-14,-2,3,-1,5,-1,24,-1,30,-1,46,-1,57,-1,72,-1,84,-1,100,-1,112,-1,-127,-1,-112,-1}; }
	private static byte[] data15(){ return new byte[] {-96,-1,-82,-1,-66,-1,-47,-1,-36,-1,-13,-1,-5,-1,19,0,30,0,48,0,66,0,77,0,98,0,109,0,125,0,-113,0,-105,0,-84,0,-77,0,-58,0,-51,0,-35,0,-26,0,-14,0,-3,0,4,1,15,1,24,1,28,1,40,1,41,1,49,1,54,1,56,1,60,1,64,1,61,1,67,1,63,1,63,1,63,1,58,1,57,1,50,1,49,1,40,1,36,1,28,1,19,1,14,1,1,1,-6,0,-17,0,-29,0,-38,0,-52,0,-64,0,-77,0,-89,0,-107,0,-113,0,119,0,112,0,91,0,81,0,61,0,50,0,30,0,17,0,2,0,-18,-1,-28,-1,-48,-1,-62,-1,-76,-1,-95,-1,-103,-1,-126,-1,124,-1,102,-1,97,-1,78,-1,66,-1,58,-1,40,-1,35,-1,20,-1,12,-1,4,-1,-7,-2,-14,-2,-21,-2,-29,-2,-33,-2,-39,-2,-45,-2,-44,-2,-54,-2,-50,-2,-55,-2,-54,-2,-54,-2,-53,-2,-53,-2,-48,-2,-48,-2,-40,-2,-39,-2,-31,-2,-27,-2,-18,-2,-13,-2,-2,-2,4,-1,16,-1,23,-1,36,-1,45,-1,60,-1,69,-1,81,-1,97,-1,107,-1,124,-1,-121,-1,-105,-1,-91,-1,-75,-1,-64,-1,-43,-1,-34,-1,-13,-1,-3,-1,15,0,32,0,41,0,65,0,71,0,92,0,102,0,119,0,-124,0,-112,0,-97,0,-86,0,-72,0,-62,0,-50,0,-39,0,-29,0,-19,0,-12,0,0,1,3,1,16,1,16,1,27,1,29,1,34,1,38,1,41,1,41,1,47,1,42,1,46,1,44,1,41,1,41,1,36,1,33,1,29,1,21,1,20,1,8,1,6,1,-6,0,-14,0,-20,0,-34,0,-40,0,-53,0,-66,0,-73,0,-90,0,-99,0,-113,0,-127,0,116,0,103,0,85,0,79,0,54,0,50,0,24,0,20,0,-1,-1,-14,-1,-29,-1,-44,-1,-58,-1,-72,-1,-88,-1,-98,-1,-117,-1,-125,-1,113,-1,106,-1,87,-1,82,-1,64,-1,59,-1,45,-1,36,-1,28,-1,16,-1,12,-1,2,-1,-5,-2,-8,-2,-20,-2,-18,-2,-26,-2,-29,-2,-30,-2,-35,-2,-34,-2,-35,-2,-36,-2,-34,-2,-33,-2,-30,-2,-28,-2,-23,-2,-21,-2,-13,-2,-10,-2,0,-1,3,-1,12,-1,22,-1,27,-1,42,-1,46,-1,61,-1,68,-1,84,-1,89,-1,109,-1,115,-1,-123,-1,-115,-1,-97,-1,-87,-1,-70,-1,-58,-1,-44,-1,-28,-1,-16,-1,0,0,14,0,28,0,42,0,56,0,71,0,84,0,97,0,112,0,121,0,-117,0,-111,0,-92,0,-87,0,-72,0,-63,0,-53,0,-42,0,-36,0,-24,0,-19,0,-9,0,-4,0,1,1,9,1,10,1,20,1,16,1,26,1,20,1,30,1,23,1,29,1,23,1,24,1,23,1,18,1,15,1,12,1,3,1,3,1,-7,0,-12,0,-20,0,-28,0,-38,0,-44,0,-56,0,-65,0,-75,0,-88,0,-97,0,-111,0,-122,0,123,0,107,0,98,0,80,0,72,0,53,0,45,0,24,0,19,0,-3,-1,-11,-1,-28,-1,-42,-1,-53,-1,-69,-1,-81,-1,-94,-1,-109,-1,-118,-1,124,-1,112,-1,101,-1,88,-1,81,-1,67,-1,61,-1,48,-1,42,-1,32,-1,26,-1,17,-1,13,-1,5,-1,1,-1,-4,-2,-8,-2,-12,-2,-12,-2,-17,-2,-17,-2,-16,-2,-20,-2,-13,-2,-18,-2,-12,-2,-9,-2,-9,-2,0,-1,0,-1,9,-1,13,-1,21,-1,26,-1,37,-1,41,-1,54,-1,60,-1,72,-1,81,-1,93,-1,101,-1,117,-1,123,-1,-115,-1,-107,-1,-92,-1,-80,-1,-68,-1,-54,-1,-39,-1,-30,-1,-10,-1,-5,-1,16,0,24,0,42,0,51,0,68,0,77,0,92,0,104,0,117,0,125,0,-113,0,-110,0,-89,0,-90,0,-71,0,-67,0,-55,0,-48,0,-40,0,-32,0,-25,0,-20,0,-13,0,-10,0,-3,0,0,1,2,1,6,1,6,1,10,1,7,1,11,1,6,1,7,1,6,1,-1,0,2,1,-8,0,-10,0,-15,0,-22,0,-26,0,-35,0,-43,0,-49,0,-60,0,-65,0,-79,0,-86,0,-97,0,-109,0,-118,0,126,0,113,0,104,0,88,0,79,0,64,0,53,0,39,0,26,0,15,0,-1,-1,-11,-1,-27,-1,-37,-1,-53,-1,-63,-1,-77,-1,-87,-1,-102,-1,-111,-1,-126,-1,123,-1,109,-1,100,-1,91,-1,79,-1,71,-1,63,-1,53,-1,49,-1,36,-1,35,-1,25,-1,23,-1,15,-1,13,-1,6,-1,9,-1,-1,-2,4,-1,-2,-2,0,-1,1,-1,-3,-2,5,-1,0,-1,9,-1,9,-1,13,-1,18,-1,22,-1,29,-1,35,-1,41,-1,49,-1,56,-1,65,-1,73,-1,83,-1,92,-1,102,-1,113,-1,122,-1,-121,-1,-111,-1,-98,-1,-89,-1,-73,-1,-65,-1,-49,-1,-39,-1,-25,-1,-15,-1,2,0,11,0}; }
	private static byte[] data16(){ return new byte[] {24,0,40,0,45,0,67,0,71,0,87,0,97,0,109,0,119,0,-123,0,-118,0,-101,0,-98,0,-84,0,-78,0,-68,0,-60,0,-53,0,-47,0,-38,0,-36,0,-26,0,-26,0,-18,0,-17,0,-12,0,-12,0,-9,0,-6,0,-10,0,-5,0,-10,0,-10,0,-9,0,-16,0,-16,0,-22,0,-24,0,-32,0,-33,0,-44,0,-47,0,-55,0,-63,0,-70,0,-81,0,-86,0,-100,0,-103,0,-119,0,-127,0,117,0,109,0,94,0,87,0,69,0,65,0,46,0,39,0,24,0,12,0,2,0,-13,-1,-23,-1,-37,-1,-46,-1,-63,-1,-70,-1,-83,-1,-95,-1,-104,-1,-118,-1,-126,-1,119,-1,110,-1,99,-1,93,-1,79,-1,79,-1,62,-1,63,-1,50,-1,48,-1,40,-1,37,-1,28,-1,31,-1,20,-1,23,-1,18,-1,15,-1,18,-1,13,-1,17,-1,15,-1,17,-1,19,-1,22,-1,25,-1,27,-1,34,-1,36,-1,43,-1,48,-1,54,-1,62,-1,69,-1,76,-1,85,-1,91,-1,106,-1,107,-1,126,-1,-128,-1,-113,-1,-104,-1,-93,-1,-82,-1,-69,-1,-62,-1,-45,-1,-37,-1,-24,-1,-11,-1,-3,-1,14,0,21,0,36,0,47,0,57,0,71,0,78,0,94,0,101,0,112,0,124,0,-126,0,-110,0,-109,0,-93,0,-91,0,-77,0,-75,0,-63,0,-61,0,-52,0,-47,0,-45,0,-34,0,-38,0,-28,0,-30,0,-25,0,-24,0,-24,0,-21,0,-25,0,-22,0,-25,0,-27,0,-27,0,-34,0,-34,0,-40,0,-45,0,-46,0,-58,0,-58,0,-70,0,-73,0,-83,0,-89,0,-98,0,-109,0,-113,0,127,0,124,0,108,0,103,0,88,0,81,0,67,0,58,0,45,0,36,0,21,0,15,0,-1,-1,-11,-1,-23,-1,-34,-1,-45,-1,-55,-1,-69,-1,-77,-1,-89,-1,-99,-1,-109,-1,-118,-1,126,-1,120,-1,108,-1,103,-1,91,-1,88,-1,76,-1,73,-1,65,-1,57,-1,57,-1,47,-1,47,-1,39,-1,40,-1,32,-1,36,-1,30,-1,31,-1,30,-1,29,-1,32,-1,31,-1,35,-1,34,-1,41,-1,40,-1,48,-1,49,-1,57,-1,60,-1,68,-1,72,-1,82,-1,85,-1,97,-1,102,-1,113,-1,120,-1,-127,-1,-117,-1,-107,-1,-97,-1,-88,-1,-76,-1,-67,-1,-55,-1,-45,-1,-34,-1,-21,-1,-14,-1,2,0,8,0,25,0,29,0,48,0,52,0,66,0,76,0,85,0,96,0,106,0,115,0,124,0,-122,0,-114,0,-108,0,-95,0,-94,0,-81,0,-80,0,-68,0,-68,0,-58,0,-58,0,-50,0,-48,0,-45,0,-41,0,-41,0,-38,0,-37,0,-38,0,-36,0,-38,0,-39,0,-41,0,-42,0,-46,0,-50,0,-50,0,-61,0,-58,0,-70,0,-70,0,-82,0,-83,0,-96,0,-97,0,-109,0,-117,0,-123,0,120,0,116,0,102,0,96,0,84,0,73,0,66,0,52,0,45,0,32,0,21,0,12,0,1,0,-12,-1,-19,-1,-34,-1,-40,-1,-54,-1,-63,-1,-74,-1,-81,-1,-96,-1,-99,-1,-114,-1,-120,-1,-128,-1,118,-1,110,-1,104,-1,94,-1,92,-1,81,-1,78,-1,69,-1,69,-1,61,-1,58,-1,54,-1,51,-1,48,-1,49,-1,44,-1,44,-1,44,-1,43,-1,46,-1,45,-1,47,-1,49,-1,54,-1,54,-1,60,-1,62,-1,68,-1,74,-1,77,-1,86,-1,91,-1,97,-1,105,-1,113,-1,120,-1,-127,-1,-119,-1,-109,-1,-102,-1,-90,-1,-83,-1,-72,-1,-61,-1,-53,-1,-42,-1,-31,-1,-21,-1,-12,-1,1,0,8,0,24,0,26,0,45,0,49,0,61,0,73,0,78,0,92,0,97,0,109,0,117,0,126,0,-125,0,-113,0,-110,0,-99,0,-96,0,-87,0,-83,0,-76,0,-74,0,-67,0,-64,0,-61,0,-56,0,-58,0,-50,0,-54,0,-50,0,-50,0,-52,0,-49,0,-54,0,-53,0,-57,0,-57,0,-62,0,-66,0,-68,0,-76,0,-77,0,-84,0,-91,0,-95,0,-103,0,-110,0,-117,0,-125,0,123,0,117,0,103,0,102,0,84,0,83,0,67,0,62,0,50,0,40,0,32,0,18,0,14,0,-3,-1,-7,-1,-22,-1,-28,-1,-41,-1,-49,-1,-60,-1,-67,-1,-80,-1,-86,-1,-97,-1,-103,-1,-115,-1,-120,-1,126,-1,120,-1,113,-1,105,-1,100,-1,93,-1,88,-1,83,-1,77,-1,76,-1,67,-1,70,-1,61,-1,63,-1,60,-1,56,-1,60,-1,55,-1,58,-1,58,-1,56,-1,64,-1,58,-1,69,-1,65,-1,72,-1,75,-1,79,-1,84,-1,91,-1,93,-1,103,-1,106,-1,116,-1,118,-1,-122,-1,-126,-1,-104,-1,-109,-1,-91,-1,-88,-1,-76,-1,-67,-1,-59,-1,-48,-1,-42,-1,-25,-1,-25,-1,-6,-1,-3,-1,10,0,20,0,28,0,39,0,48,0,57,0,66,0,77,0,83,0}; }
	private static byte[] data17(){ return new byte[] {95,0,98,0,113,0,115,0,127,0,-125,0,-117,0,-110,0,-104,0,-99,0,-92,0,-90,0,-81,0,-81,0,-76,0,-72,0,-71,0,-66,0,-66,0,-64,0,-64,0,-64,0,-61,0,-66,0,-62,0,-69,0,-66,0,-73,0,-71,0,-79,0,-80,0,-84,0,-92,0,-92,0,-102,0,-104,0,-114,0,-117,0,-128,0,126,0,114,0,109,0,99,0,91,0,85,0,72,0,68,0,55,0,48,0,37,0,30,0,17,0,14,0,-3,-1,-8,-1,-19,-1,-27,-1,-38,-1,-46,-1,-57,-1,-63,-1,-74,-1,-82,-1,-90,-1,-98,-1,-107,-1,-113,-1,-122,-1,-127,-1,120,-1,117,-1,106,-1,107,-1,95,-1,95,-1,89,-1,84,-1,82,-1,79,-1,73,-1,77,-1,69,-1,71,-1,71,-1,66,-1,73,-1,66,-1,74,-1,69,-1,77,-1,74,-1,81,-1,82,-1,86,-1,90,-1,95,-1,99,-1,107,-1,109,-1,118,-1,121,-1,-124,-1,-121,-1,-111,-1,-105,-1,-97,-1,-88,-1,-81,-1,-72,-1,-64,-1,-53,-1,-48,-1,-35,-1,-30,-1,-16,-1,-12,-1,2,0,7,0,19,0,26,0,37,0,46,0,52,0,64,0,69,0,81,0,87,0,95,0,104,0,108,0,119,0,123,0,-125,0,-119,0,-115,0,-106,0,-105,0,-97,0,-96,0,-89,0,-87,0,-84,0,-82,0,-78,0,-79,0,-73,0,-79,0,-72,0,-77,0,-75,0,-76,0,-78,0,-80,0,-81,0,-87,0,-86,0,-93,0,-94,0,-101,0,-103,0,-112,0,-114,0,-121,0,-127,0,122,0,116,0,108,0,102,0,93,0,87,0,76,0,73,0,58,0,55,0,44,0,36,0,27,0,18,0,9,0,0,0,-6,-1,-21,-1,-23,-1,-37,-1,-44,-1,-50,-1,-63,-1,-67,-1,-78,-1,-84,-1,-92,-1,-100,-1,-107,-1,-113,-1,-121,-1,-125,-1,123,-1,117,-1,115,-1,105,-1,105,-1,100,-1,94,-1,93,-1,88,-1,88,-1,83,-1,85,-1,79,-1,84,-1,78,-1,82,-1,81,-1,81,-1,85,-1,84,-1,89,-1,89,-1,94,-1,95,-1,102,-1,105,-1,108,-1,116,-1,117,-1,-128,-1,-128,-1,-115,-1,-115,-1,-104,-1,-98,-1,-92,-1,-81,-1,-78,-1,-67,-1,-59,-1,-52,-1,-43,-1,-34,-1,-28,-1,-15,-1,-11,-1,1,0,7,0,18,0,25,0,34,0,43,0,50,0,59,0,66,0,76,0,80,0,91,0,96,0,103,0,111,0,115,0,124,0,127,0,-122,0,-117,0,-114,0,-106,0,-105,0,-102,0,-94,0,-99,0,-87,0,-95,0,-84,0,-91,0,-83,0,-88,0,-85,0,-88,0,-86,0,-90,0,-89,0,-95,0,-93,0,-100,0,-101,0,-104,0,-113,0,-109,0,-124,0,-119,0,123,0,123,0,114,0,109,0,102,0,95,0,87,0,82,0,73,0,65,0,58,0,49,0,42,0,36,0,21,0,20,0,7,0,0,0,-5,-1,-21,-1,-20,-1,-37,-1,-38,-1,-52,-1,-53,-1,-69,-1,-67,-1,-85,-1,-81,-1,-99,-1,-95,-1,-110,-1,-111,-1,-120,-1,-123,-1,126,-1,123,-1,114,-1,115,-1,108,-1,106,-1,102,-1,98,-1,99,-1,94,-1,94,-1,92,-1,91,-1,94,-1,88,-1,95,-1,90,-1,97,-1,93,-1,100,-1,98,-1,105,-1,106,-1,110,-1,114,-1,118,-1,123,-1,-128,-1,-122,-1,-118,-1,-110,-1,-107,-1,-96,-1,-96,-1,-81,-1,-81,-1,-70,-1,-63,-1,-57,-1,-47,-1,-41,-1,-33,-1,-24,-1,-17,-1,-7,-1,-2,-1,10,0,13,0,26,0,31,0,40,0,48,0,54,0,63,0,71,0,74,0,87,0,88,0,99,0,103,0,108,0,116,0,121,0,123,0,-123,0,-124,0,-115,0,-114,0,-111,0,-106,0,-106,0,-100,0,-102,0,-96,0,-101,0,-94,0,-99,0,-94,0,-99,0,-95,0,-104,0,-95,0,-108,0,-101,0,-110,0,-110,0,-115,0,-119,0,-122,0,-127,0,125,0,117,0,115,0,107,0,103,0,94,0,90,0,82,0,76,0,70,0,59,0,56,0,45,0,41,0,30,0,26,0,12,0,13,0,-4,-1,-4,-1,-18,-1,-21,-1,-33,-1,-36,-1,-48,-1,-52,-1,-61,-1,-68,-1,-74,-1,-82,-1,-86,-1,-96,-1,-99,-1,-106,-1,-112,-1,-116,-1,-121,-1,-128,-1,-128,-1,119,-1,121,-1,111,-1,116,-1,104,-1,112,-1,101,-1,107,-1,99,-1,106,-1,97,-1,105,-1,99,-1,106,-1,101,-1,108,-1,106,-1,110,-1,114,-1,114,-1,120,-1,123,-1,126,-1,-125,-1,-119,-1,-116,-1,-110,-1,-104,-1,-100,-1,-91,-1,-87,-1,-80,-1,-74,-1,-66,-1,-60,-1,-52,-1,-44,-1,-41,-1,-28,-1,-25,-1,-13,-1,-9,-1,-1,-1,8,0,14,0,24,0,29,0,38,0,43,0,54,0,56,0,68,0,70,0,80,0,85,0,90,0,99,0,100,0,110,0,112,0}; }
	private static byte[] data18(){ return new byte[] {117,0,125,0,123,0,-123,0,-124,0,-118,0,-116,0,-115,0,-111,0,-109,0,-110,0,-105,0,-109,0,-105,0,-106,0,-108,0,-107,0,-109,0,-110,0,-112,0,-114,0,-119,0,-118,0,-125,0,-125,0,124,0,121,0,117,0,111,0,108,0,100,0,96,0,90,0,83,0,79,0,69,0,67,0,55,0,53,0,42,0,39,0,27,0,25,0,11,0,12,0,-3,-1,-4,-1,-17,-1,-21,-1,-28,-1,-38,-1,-41,-1,-51,-1,-57,-1,-63,-1,-71,-1,-75,-1,-83,-1,-88,-1,-95,-1,-98,-1,-106,-1,-107,-1,-117,-1,-116,-1,-124,-1,-126,-1,-128,-1,120,-1,125,-1,114,-1,119,-1,113,-1,112,-1,114,-1,109,-1,113,-1,110,-1,112,-1,111,-1,114,-1,116,-1,115,-1,120,-1,121,-1,124,-1,-128,-1,-125,-1,-123,-1,-114,-1,-117,-1,-104,-1,-106,-1,-97,-1,-92,-1,-89,-1,-79,-1,-77,-1,-67,-1,-64,-1,-54,-1,-51,-1,-42,-1,-35,-1,-30,-1,-19,-1,-17,-1,-6,-1,-1,-1,7,0,15,0,19,0,30,0,34,0,42,0,49,0,54,0,63,0,66,0,76,0,78,0,86,0,92,0,95,0,101,0,108,0,108,0,117,0,117,0,123,0,125,0,-126,0,-126,0,-122,0,-120,0,-121,0,-113,0,-122,0,-110,0,-121,0,-112,0,-117,0,-117,0,-118,0,-119,0,-122,0,-121,0,-128,0,-127,0,124,0,121,0,119,0,111,0,111,0,104,0,101,0,94,0,90,0,84,0,79,0,73,0,66,0,61,0,54,0,48,0,41,0,35,0,26,0,24,0,10,0,12,0,-4,-1,-4,-1,-15,-1,-20,-1,-26,-1,-36,-1,-39,-1,-48,-1,-52,-1,-61,-1,-64,-1,-74,-1,-74,-1,-87,-1,-84,-1,-96,-1,-97,-1,-102,-1,-109,-1,-110,-1,-114,-1,-121,-1,-119,-1,-126,-1,-128,-1,-126,-1,120,-1,-128,-1,117,-1,124,-1,118,-1,121,-1,119,-1,123,-1,117,-1,126,-1,120,-1,-128,-1,126,-1,-126,-1,-123,-1,-122,-1,-116,-1,-115,-1,-110,-1,-105,-1,-102,-1,-97,-1,-92,-1,-88,-1,-79,-1,-80,-1,-66,-1,-68,-1,-57,-1,-53,-1,-46,-1,-40,-1,-33,-1,-27,-1,-20,-1,-13,-1,-9,-1,2,0,4,0,16,0,18,0,27,0,32,0,40,0,45,0,52,0,59,0,61,0,72,0,73,0,82,0,83,0,93,0,92,0,104,0,99,0,111,0,109,0,117,0,115,0,125,0,118,0,-126,0,124,0,-126,0,-125,0,-127,0,-122,0,-126,0,-123,0,-125,0,-126,0,-124,0,125,0,-126,0,122,0,124,0,119,0,117,0,114,0,110,0,107,0,102,0,99,0,93,0,90,0,84,0,79,0,74,0,68,0,62,0,58,0,50,0,45,0,38,0,34,0,24,0,21,0,12,0,8,0,-1,-1,-4,-1,-16,-1,-16,-1,-28,-1,-31,-1,-37,-1,-45,-1,-50,-1,-56,-1,-62,-1,-66,-1,-74,-1,-77,-1,-83,-1,-88,-1,-91,-1,-98,-1,-99,-1,-105,-1,-108,-1,-111,-1,-115,-1,-114,-1,-123,-1,-118,-1,-127,-1,-121,-1,126,-1,-122,-1,123,-1,-123,-1,125,-1,-126,-1,-127,-1,-126,-1,-123,-1,-124,-1,-119,-1,-121,-1,-114,-1,-115,-1,-109,-1,-107,-1,-103,-1,-100,-1,-94,-1,-94,-1,-82,-1,-87,-1,-71,-1,-76,-1,-63,-1,-63,-1,-53,-1,-52,-1,-40,-1,-40,-1,-30,-1,-26,-1,-19,-1,-12,-1,-7,-1,0,0,5,0,13,0,19,0,24,0,32,0,36,0,43,0,48,0,56,0,58,0,66,0,70,0,75,0,81,0,84,0,90,0,92,0,99,0,99,0,107,0,106,0,111,0,114,0,114,0,119,0,120,0,118,0,127,0,118,0,127,0,122,0,125,0,122,0,124,0,121,0,120,0,121,0,114,0,118,0,109,0,113,0,104,0,106,0,99,0,96,0,93,0,88,0,83,0,80,0,74,0,69,0,65,0,57,0,55,0,47,0,42,0,37,0,29,0,25,0,20,0,9,0,10,0,-2,-1,-5,-1,-13,-1,-16,-1,-27,-1,-26,-1,-39,-1,-39,-1,-48,-1,-52,-1,-59,-1,-62,-1,-68,-1,-73,-1,-78,-1,-81,-1,-89,-1,-87,-1,-98,-1,-94,-1,-104,-1,-103,-1,-107,-1,-111,-1,-111,-1,-115,-1,-115,-1,-116,-1,-121,-1,-117,-1,-122,-1,-118,-1,-120,-1,-121,-1,-118,-1,-118,-1,-117,-1,-114,-1,-116,-1,-108,-1,-112,-1,-104,-1,-105,-1,-100,-1,-96,-1,-94,-1,-89,-1,-86,-1,-81,-1,-76,-1,-72,-1,-67,-1,-62,-1,-57,-1,-52,-1,-45,-1,-42,-1,-35,-1,-28,-1,-26,-1,-15,-1,-14,-1,-6,-1,0,0,5,0,13,0,16,0,25,0,26,0,37,0,39,0,46,0,52,0,53,0,65,0,62,0,75,0,72,0,81,0,84,0,87,0,92,0,94,0,100,0,98,0,108,0,102,0,112,0,108,0}; }
	private static byte[] data19(){ return new byte[] {114,0,112,0,116,0,114,0,118,0,114,0,119,0,112,0,119,0,111,0,116,0,110,0,110,0,108,0,105,0,104,0,99,0,99,0,91,0,93,0,84,0,86,0,76,0,75,0,70,0,63,0,64,0,51,0,53,0,44,0,39,0,34,0,29,0,22,0,19,0,10,0,7,0,-1,-1,-5,-1,-11,-1,-17,-1,-22,-1,-29,-1,-33,-1,-39,-1,-44,-1,-49,-1,-55,-1,-59,-1,-63,-1,-70,-1,-72,-1,-77,-1,-82,-1,-84,-1,-89,-1,-91,-1,-97,-1,-95,-1,-104,-1,-99,-1,-109,-1,-104,-1,-112,-1,-105,-1,-116,-1,-108,-1,-115,-1,-112,-1,-112,-1,-112,-1,-112,-1,-110,-1,-110,-1,-109,-1,-105,-1,-106,-1,-100,-1,-102,-1,-94,-1,-99,-1,-86,-1,-91,-1,-82,-1,-81,-1,-76,-1,-71,-1,-69,-1,-62,-1,-59,-1,-52,-1,-50,-1,-43,-1,-38,-1,-33,-1,-28,-1,-21,-1,-19,-1,-9,-1,-6,-1,-2,-1,8,0,8,0,19,0,19,0,30,0,30,0,39,0,43,0,47,0,52,0,59,0,59,0,70,0,68,0,76,0,78,0,82,0,87,0,87,0,95,0,91,0,101,0,98,0,102,0,105,0,103,0,108,0,107,0,108,0,110,0,108,0,109,0,109,0,107,0,109,0,105,0,105,0,103,0,101,0,99,0,98,0,92,0,93,0,86,0,87,0,80,0,78,0,74,0,69,0,66,0,61,0,56,0,51,0,49,0,40,0,38,0,33,0,24,0,24,0,15,0,11,0,6,0,0,0,-6,-1,-8,-1,-19,-1,-18,-1,-29,-1,-30,-1,-37,-1,-40,-1,-48,-1,-49,-1,-57,-1,-60,-1,-63,-1,-70,-1,-70,-1,-79,-1,-77,-1,-86,-1,-83,-1,-91,-1,-92,-1,-93,-1,-99,-1,-96,-1,-103,-1,-100,-1,-104,-1,-104,-1,-105,-1,-106,-1,-105,-1,-106,-1,-106,-1,-103,-1,-106,-1,-101,-1,-102,-1,-101,-1,-96,-1,-99,-1,-90,-1,-95,-1,-84,-1,-89,-1,-80,-1,-80,-1,-75,-1,-71,-1,-67,-1,-64,-1,-59,-1,-55,-1,-50,-1,-44,-1,-43,-1,-33,-1,-34,-1,-24,-1,-21,-1,-16,-1,-10,-1,-5,-1,-2,-1,8,0,7,0,18,0,19,0,26,0,31,0,34,0,42,0,42,0,52,0,52,0,60,0,61,0,66,0,71,0,72,0,80,0,78,0,85,0,85,0,90,0,91,0,95,0,93,0,100,0,95,0,105,0,97,0,104,0,101,0,102,0,103,0,102,0,101,0,101,0,99,0,99,0,95,0,99,0,88,0,95,0,85,0,87,0,84,0,77,0,79,0,70,0,72,0,63,0,63,0,57,0,52,0,50,0,42,0,43,0,31,0,33,0,23,0,21,0,17,0,7,0,8,0,-2,-1,-2,-1,-12,-1,-14,-1,-20,-1,-25,-1,-29,-1,-34,-1,-40,-1,-41,-1,-52,-1,-47,-1,-62,-1,-54,-1,-69,-1,-66,-1,-72,-1,-76,-1,-75,-1,-84,-1,-81,-1,-89,-1,-87,-1,-91,-1,-93,-1,-94,-1,-95,-1,-98,-1,-97,-1,-99,-1,-99,-1,-99,-1,-98,-1,-101,-1,-96,-1,-100,-1,-95,-1,-96,-1,-93,-1,-92,-1,-90,-1,-89,-1,-84,-1,-85,-1,-77,-1,-80,-1,-72,-1,-72,-1,-66,-1,-64,-1,-59,-1,-56,-1,-52,-1,-45,-1,-46,-1,-35,-1,-36,-1,-28,-1,-24,-1,-22,-1,-11,-1,-14,-1,-1,-1,-3,-1,6,0,9,0,14,0,20,0,24,0,28,0,34,0,36,0,44,0,44,0,54,0,50,0,63,0,58,0,69,0,68,0,73,0,74,0,80,0,79,0,87,0,83,0,90,0,88,0,92,0,93,0,93,0,96,0,95,0,95,0,98,0,94,0,97,0,94,0,95,0,94,0,92,0,91,0,88,0,88,0,86,0,82,0,81,0,77,0,74,0,73,0,68,0,65,0,61,0,58,0,52,0,53,0,43,0,43,0,36,0,33,0,28,0,24,0,18,0,15,0,10,0,4,0,1,0,-5,-1,-10,-1,-12,-1,-20,-1,-23,-1,-27,-1,-34,-1,-34,-1,-42,-1,-46,-1,-46,-1,-57,-1,-53,-1,-63,-1,-61,-1,-70,-1,-67,-1,-77,-1,-73,-1,-79,-1,-83,-1,-79,-1,-90,-1,-83,-1,-91,-1,-88,-1,-93,-1,-89,-1,-95,-1,-90,-1,-96,-1,-92,-1,-91,-1,-95,-1,-88,-1,-95,-1,-85,-1,-91,-1,-84,-1,-86,-1,-83,-1,-78,-1,-81,-1,-71,-1,-77,-1,-66,-1,-67,-1,-65,-1,-55,-1,-62,-1,-46,-1,-52,-1,-43,-1,-40,-1,-37,-1,-30,-1,-28,-1,-23,-1,-18,-1,-15,-1,-8,-1,-5,-1,0,0,4,0,9,0,13,0,19,0,22,0,27,0,31,0,35,0,40,0,43,0,47,0,53,0,52,0,61,0,60,0,66,0,68,0,70,0,74,0,76,0,79,0,81,0,81,0,86,0,84,0,89,0,86,0,91,0,87,0,93,0,88,0,91,0,90,0}; }
	private static byte[] data20(){ return new byte[] {88,0,91,0,86,0,87,0,85,0,85,0,80,0,82,0,76,0,76,0,73,0,70,0,67,0,65,0,59,0,60,0,51,0,53,0,46,0,42,0,41,0,31,0,34,0,25,0,22,0,20,0,9,0,14,0,0,0,4,0,-6,-1,-9,-1,-12,-1,-19,-1,-20,-1,-28,-1,-28,-1,-36,-1,-37,-1,-43,-1,-46,-1,-49,-1,-53,-1,-58,-1,-58,-1,-65,-1,-64,-1,-69,-1,-72,-1,-72,-1,-79,-1,-75,-1,-82,-1,-80,-1,-84,-1,-83,-1,-87,-1,-85,-1,-88,-1,-86,-1,-87,-1,-89,-1,-84,-1,-90,-1,-83,-1,-87,-1,-84,-1,-80,-1,-83,-1,-79,-1,-76,-1,-79,-1,-69,-1,-73,-1,-68,-1,-63,-1,-65,-1,-57,-1,-56,-1,-53,-1,-48,-1,-46,-1,-42,-1,-36,-1,-34,-1,-31,-1,-23,-1,-25,-1,-14,-1,-15,-1,-7,-1,-6,-1,1,0,3,0,9,0,13,0,16,0,22,0,25,0,28,0,35,0,34,0,44,0,43,0,48,0,53,0,51,0,62,0,59,0,65,0,65,0,70,0,71,0,74,0,75,0,78,0,78,0,82,0,80,0,84,0,83,0,84,0,85,0,84,0,86,0,83,0,85,0,82,0,84,0,80,0,82,0,75,0,81,0,71,0,76,0,69,0,69,0,67,0,60,0,63,0,55,0,56,0,50,0,47,0,45,0,38,0,39,0,30,0,31,0,23,0,23,0,15,0,12,0,10,0,3,0,1,0,-3,-1,-11,-1,-9,-1,-19,-1,-19,-1,-25,-1,-28,-1,-31,-1,-38,-1,-38,-1,-44,-1,-47,-1,-48,-1,-55,-1,-55,-1,-59,-1,-64,-1,-61,-1,-70,-1,-67,-1,-73,-1,-73,-1,-74,-1,-77,-1,-78,-1,-80,-1,-79,-1,-81,-1,-81,-1,-83,-1,-81,-1,-83,-1,-80,-1,-82,-1,-81,-1,-80,-1,-78,-1,-78,-1,-76,-1,-74,-1,-74,-1,-69,-1,-69,-1,-67,-1,-64,-1,-60,-1,-59,-1,-54,-1,-55,-1,-47,-1,-48,-1,-39,-1,-42,-1,-34,-1,-31,-1,-30,-1,-21,-1,-23,-1,-14,-1,-13,-1,-7,-1,-7,-1,3,0,1,0,10,0,12,0,14,0,23,0,19,0,32,0,28,0,36,0,39,0,40,0,47,0,47,0,52,0,54,0,58,0,59,0,64,0,63,0,69,0,67,0,73,0,71,0,76,0,74,0,77,0,77,0,80,0,77,0,81,0,78,0,79,0,81,0,76,0,81,0,75,0,78,0,73,0,75,0,72,0,71,0,67,0,67,0,64,0,62,0,59,0,57,0,53,0,51,0,48,0,44,0,41,0,38,0,34,0,31,0,27,0,22,0,21,0,14,0,13,0,8,0,2,0,4,0,-8,-1,-4,-1,-15,-1,-12,-1,-22,-1,-20,-1,-29,-1,-29,-1,-34,-1,-37,-1,-41,-1,-43,-1,-48,-1,-48,-1,-54,-1,-55,-1,-59,-1,-60,-1,-63,-1,-64,-1,-68,-1,-68,-1,-71,-1,-72,-1,-72,-1,-76,-1,-73,-1,-77,-1,-77,-1,-76,-1,-78,-1,-75,-1,-79,-1,-74,-1,-78,-1,-74,-1,-73,-1,-74,-1,-71,-1,-69,-1,-71,-1,-63,-1,-67,-1,-60,-1,-61,-1,-57,-1,-55,-1,-53,-1,-47,-1,-48,-1,-41,-1,-41,-1,-38,-1,-30,-1,-32,-1,-25,-1,-22,-1,-22,-1,-11,-1,-14,-1,-6,-1,-6,-1,1,0,4,0,7,0,12,0,12,0,22,0,20,0,28,0,26,0,36,0,33,0,41,0,42,0,45,0,49,0,51,0,53,0,57,0,58,0,61,0,64,0,63,0,69,0,66,0,71,0,70,0,72,0,73,0,74,0,74,0,73,0,76,0,74,0,74,0,75,0,71,0,76,0,69,0,71,0,69,0,68,0,66,0,65,0,61,0,61,0,58,0,55,0,54,0,49,0,49,0,44,0,41,0,41,0,31,0,37,0,25,0,28,0,19,0,21,0,13,0,12,0,7,0,4,0,0,0,-2,-1,-10,-1,-8,-1,-17,-1,-16,-1,-22,-1,-25,-1,-28,-1,-32,-1,-35,-1,-37,-1,-41,-1,-45,-1,-45,-1,-51,-1,-52,-1,-54,-1,-56,-1,-61,-1,-57,-1,-68,-1,-61,-1,-67,-1,-68,-1,-67,-1,-72,-1,-68,-1,-74,-1,-69,-1,-74,-1,-72,-1,-71,-1,-74,-1,-70,-1,-72,-1,-69,-1,-71,-1,-67,-1,-68,-1,-65,-1,-64,-1,-62,-1,-61,-1,-58,-1,-56,-1,-55,-1,-50,-1,-50,-1,-45,-1,-44,-1,-40,-1,-38,-1,-34,-1,-31,-1,-28,-1,-24,-1,-22,-1,-16,-1,-17,-1,-8,-1,-10,-1,-1,-1,-2,-1,5,0,5,0,12,0,13,0,19,0,19,0,26,0,25,0,34,0,31,0,38,0,40,0,41,0,48,0,45,0,53,0,50,0,57,0,57,0,59,0,61,0,62,0,63,0,68,0,65,0,68,0,69,0,67,0,71,0,69,0,71,0,69,0,71,0,68,0,69,0,68,0,68,0,65,0,67,0,61,0,64,0}; }
	private static byte[] data21(){ return new byte[] {59,0,59,0,57,0,53,0,54,0,49,0,47,0,46,0,39,0,43,0,33,0,36,0,28,0,28,0,24,0,19,0,19,0,12,0,12,0,6,0,4,0,0,0,-3,-1,-7,-1,-10,-1,-14,-1,-16,-1,-21,-1,-22,-1,-28,-1,-28,-1,-34,-1,-36,-1,-37,-1,-43,-1,-41,-1,-50,-1,-46,-1,-54,-1,-51,-1,-56,-1,-58,-1,-57,-1,-64,-1,-58,-1,-67,-1,-61,-1,-68,-1,-64,-1,-69,-1,-66,-1,-67,-1,-70,-1,-64,-1,-72,-1,-64,-1,-68,-1,-66,-1,-64,-1,-66,-1,-60,-1,-65,-1,-57,-1,-61,-1,-55,-1,-55,-1,-53,-1,-51,-1,-47,-1,-47,-1,-42,-1,-42,-1,-37,-1,-36,-1,-31,-1,-29,-1,-28,-1,-20,-1,-23,-1,-15,-1,-13,-1,-12,-1,-4,-1,-6,-1,2,0,1,0,8,0,9,0,14,0,16,0,20,0,21,0,27,0,29,0,31,0,35,0,38,0,38,0,44,0,45,0,46,0,52,0,49,0,55,0,55,0,57,0,59,0,60,0,61,0,63,0,62,0,66,0,64,0,65,0,66,0,65,0,66,0,67,0,62,0,68,0,60,0,67,0,60,0,62,0,58,0,60,0,55,0,57,0,51,0,53,0,47,0,48,0,45,0,39,0,43,0,34,0,35,0,32,0,26,0,28,0,20,0,20,0,17,0,11,0,13,0,3,0,6,0,-2,-1,-1,-1,-7,-1,-11,-1,-10,-1,-20,-1,-13,-1,-28,-1,-20,-1,-32,-1,-28,-1,-34,-1,-36,-1,-39,-1,-41,-1,-44,-1,-45,-1,-48,-1,-51,-1,-50,-1,-57,-1,-51,-1,-62,-1,-52,-1,-65,-1,-56,-1,-65,-1,-61,-1,-62,-1,-63,-1,-64,-1,-64,-1,-63,-1,-65,-1,-60,-1,-66,-1,-59,-1,-64,-1,-57,-1,-63,-1,-54,-1,-60,-1,-52,-1,-55,-1,-51,-1,-50,-1,-46,-1,-47,-1,-42,-1,-41,-1,-39,-1,-34,-1,-34,-1,-29,-1,-29,-1,-23,-1,-24,-1,-15,-1,-19,-1,-10,-1,-11,-1,-6,-1,-2,-1,-2,-1,5,0,5,0,9,0,13,0,15,0,19,0,21,0,24,0,27,0,29,0,34,0,33,0,40,0,37,0,45,0,42,0,48,0,47,0,51,0,52,0,54,0,54,0,57,0,57,0,58,0,62,0,57,0,64,0,59,0,62,0,63,0,60,0,63,0,59,0,63,0,59,0,60,0,57,0,54,0,53,0,43,0,47,0,33,0,41,0,27,0,30,0,23,0,21,0,18,0,15,0,12,0,10,0,7,0,5,0,5,0,-1,-1,5,0}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-06.wav. */
	public Drum06(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-06.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-06.wav. */
	private class LoopThread extends Thread {
		private Drum06 clip;
		private boolean looping = true;
		public LoopThread(Drum06 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-06.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-06.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-06.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-06.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-06.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}